如何匹配Angular2中内存web api中传递的精确url参数?

时间:2017-01-05 06:50:05

标签: angular url asp.net-web-api in-memory

我使用参数“UnitID”使用以下代码获取此特定单元ID的数据:

this.unitDetailsService.getUnitDetailsbyId(this.activeUnitId)

我正在使用此activeUnitId参数使用以下代码构建要在内存服务中使用的URL:

const url = `${this.unitDetailsUrl}/?unit_id=${unitId}`;

我得到了所需的单位id值结果,如1.1,2.1,3.1,3.2等。 但是,我得到了不希望的结果,如1,2,3等单位ID值。 对于单位ID 1,我得到所有与1,1.1,2.1,3.1相关的值。 类似地,对于单元id 2,结果包括2,2.1,2.2,3.2。 对于单位ID 3,它是3,3.1,3.2,3.3,3.4。

我认为它匹配所有那些包含传递的单位ID而不是匹配精确网址的值。有人可以帮我做一个完全匹配吗?

1 个答案:

答案 0 :(得分:2)

我明白了。我假设${unitId}将被替换为例如1.尝试像这样添加^和$

${this.unitDetailsUrl}/?unit_id=^${unitId}$

例如detailedUrl/?unit_id=^1$

库使用参数,就像它是正则表达式一样。添加^表示查看字符串的开头,$表示字符串的结尾。传递1,然后只匹配1,而不是2.1或3.1