【发布时间】:2020-01-08 08:35:54
【问题描述】:
我有一个数组,其中包含 swagger 使用的 url,例如:
["PATCH /users/{userId}",
"PATCH /users/types/{userIdId}",
"PATCH /products/brands/{brandId}/image",
"PATCH /product-types/{productId}"];
我使用 Mongodb 作为数据库,id 类似,例如userId = "5dce7b7e47224c477734e35d"。这是我的函数中的代码:
var havePerm = false;
var myUrl = "PATCH /users/5dce7b7e47224c477734e35d"
for (var i = 0; i < urls.length; i++) {
// It compares if: "PATCH /users/5dce7b7e47224c477734e35d" equals "PATCH /users/{userId}"
if (myUrl === urls[i]) {
havePerm = true;
}
}
return havePerm;
在这种情况下它应该返回 true,但它返回 false。
如果url没有参数(例如:{id}),比较是直接的,但是在PATCH的情况下,问题是我不知道如何比较大括号{}之间的参数。
如何比较这些案例?用正则表达式?但我不知道如何构建它。
【问题讨论】:
-
您想比较“myUrl”是否匹配其中一种模式? mongoId 是什么?
标签: javascript regex url compare