javascript - 正则表达式获取 API 表单 URL 的版本

标签 javascript node.js regex

有一些 API 有一些版本。 IE。 1./v1/订单/创建 2./order/v2/create

它们是要调用的通用中间件。在 middleawre 中,我需要 API 版本(即 v1 或 v2)来执行特定版本的某些特定任务。我尝试使用下面的代码,但第二种类型的网址失败。

var pieces = req.url.replace(/^\/+/, '').split('/');
var version = pieces[0];
req.version =  version || 0;

最佳答案

不要从 URL 的开头开始搜索。尝试这样的事情:

var match = req.url.match(/\/v([0-9]+)\//);
var version = 0;
if (match) {
    version = match[1];
}
console.log(version); // outputs version number

关于javascript - 正则表达式获取 API 表单 URL 的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43895163/

相关文章:

javascript - 将数组中文本的第一个字母大写

javascript - 插入符号位置不跟踪?

node.js - 如果第三个键为 true,则比较 mongodb 文档的两个键

node.js - 如何将参数传递给nodemon(或node-supervisor)中的可执行文件?

java - 正则表达式或用单个空格替换多个空格的方法

javascript - 来自 ajax POST 的引导模式的下拉菜单

javascript - 如何在 Bootstrap 下拉列表中获取选定元素,其中下拉列表是动态填充的

node.js - DynamoDB Datamapper 错误抛出项目不遵守 DynamoDBTable 协议(protocol)

regex - 使用模式匹配的奇怪 perl foreach 行为

python - 为什么这项研究不起作用