Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Angular2中匹配内存web api中传递的精确url参数?_Angular_Url_Asp.net Web Api_In Memory - Fatal编程技术网

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

如何在Angular2中匹配内存web api中传递的精确url参数?,angular,url,asp.net-web-api,in-memory,Angular,Url,Asp.net Web Api,In Memory,我使用参数“UnitID”获取此特定装置id的数据,代码如下: this.unitDetailsService.getUnitDetailsbyId(this.activeUnitId) const url = `${this.unitDetailsUrl}/?unit_id=${unitId}`; 我使用此activeUnitId参数构造一个url,该url将使用以下代码在内存服务中使用: this.unitDetailsService.getUnitDetailsbyId(this.ac

我使用参数“UnitID”获取此特定装置id的数据,代码如下:

this.unitDetailsService.getUnitDetailsbyId(this.activeUnitId)
const url = `${this.unitDetailsUrl}/?unit_id=${unitId}`;
我使用此activeUnitId参数构造一个url,该url将使用以下代码在内存服务中使用:

this.unitDetailsService.getUnitDetailsbyId(this.activeUnitId)
const url = `${this.unitDetailsUrl}/?unit_id=${unitId}`;
我得到了1.1、2.1、3.1、3.2等单位id值的理想结果。 但是,对于单元id值,如1、2、3等,我得到了不想要的结果。 对于单元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组成的值,而不是匹配确切的url。有人能帮我做一个精确的匹配吗?

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

${this.unitDetailsUrl}/?unit\u id=^${unitId}$

e、 g
detailedUrl/?unit\u id=^1$


库使用这些参数时,就好像它是一个正则表达式一样。添加“^”表示查看字符串的开头,$表示字符串的结尾。通过1后,将只匹配1,而不是2.1或3.1。很难理解你想做什么。匹配在哪里?我的意思是,当我传递unitId=1时,我应该从仅api匹配到unitId=1的结果。现在,我得到了与1、1.1、2.1、3.1等相关的所有结果。。i、 无论哪个unitId包含1。api上的匹配算法是什么样子的?它应该是一种类似于
equals(unitId)
的方法,而不是
match(unitId)
,因为“2.1”、“3.1”和“1”都与“1”匹配。但是,
equals(unitId)
将只返回带有您提供给api的
unitId
的结果。你能提供你的api代码吗?我正在使用Angular2提供的内存web api。我还没有为api编写任何代码。此API仅用于测试目的。这是api:@Jayant您有没有为调用内存web api的服务进行过单元测试?太棒了!这正是我要找的。谢谢