【发布时间】:2019-06-25 07:23:18
【问题描述】:
我有一个问题想用 RegEx 或任何其他方法(如果有更好的方法)来解决。我尝试了几种方法来实现目标,但都没有真正奏效。
我有一个带端点的数组:
const endpoints = [
{
id: 1,
url: "/api/items/:itemId"
},
{
id: 2,
url: "/api/users/:userName/delete"
},
{
id: 3,
url: "/api/users/:userName/edit"
}
];
还有一个请求网址:
const url = "/api/users/max/edit";
现在我想要的是有一个这样的函数:
const rewrite = (url, endpoints) => {
// What is the best way to achieve the following return value:
return {
endpointId: 3,
values: {
userName: "max"
}
};
};
说明:该函数应该为 url 找到适当的端点。以冒号开头的端点 url 的所有部分都不是静态的,而是应该用请求 url 中的值替换。在这种情况下,:userName 应替换为 max。
我从事网络开发已经有一段时间了,但说实话,我几乎不知道如何解决这样的问题。
【问题讨论】:
标签: javascript regex url url-routing