Regex获取API表单URL的版本

eni9jsuy  于 2023-06-25  发布在  其他
关注(0)|答案(2)|浏览(134)

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

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

ocebsuys1#

不要从URL的开头开始搜索。尝试以下操作:

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

nkhmeac62#

您可以使用以下命令:
正则表达式:/\/(v\d+)\//

  • (v\d+)允许捕获v,后面跟随一些整数,例如v1,v2,v123,v0等。
  • 如果您还希望允许十进制版本控制,请使用/\/(v\d+.?\d*)\//。例如:v1.1、v2.0等
var url = "/v1/order/create"
var pieces = url.match(/\/(v\d+)\//);
console.log(pieces[1]);
// Output is v1

相关问题