如何在 Angular2 中匹配在内存 Web api 中传递的精确 url 参数?
How to match exact url parameters passed in in-memory web api in Angular2?
我使用参数 "UnitID" 通过以下代码获取此特定单元 ID 的数据:
this.unitDetailsService.getUnitDetailsbyId(this.activeUnitId)
我正在使用此 activeUnitId 参数构建一个 url 以使用以下代码在内存服务中使用:
const url = `${this.unitDetailsUrl}/?unit_id=${unitId}`;
我得到了 1.1、2.1、3.1、3.2 等单元 ID 值所需的结果。
但是,对于 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 的值,而不是完全匹配 url。有人可以帮我做一个精确匹配吗?
我明白了。我假设 ${unitId}
将被替换为例如1. 尝试像这样在末尾添加 ^ 和 $
${this.unitDetailsUrl}/?unit_id=^${unitId}$
例如detailedUrl/?unit_id=^1$
库使用这些参数就好像它是一个正则表达式一样。添加^表示看字符串的开头,$表示看字符串的结尾。传递 1,将只匹配 1,而不匹配 2.1 或 3.1
我使用参数 "UnitID" 通过以下代码获取此特定单元 ID 的数据:
this.unitDetailsService.getUnitDetailsbyId(this.activeUnitId)
我正在使用此 activeUnitId 参数构建一个 url 以使用以下代码在内存服务中使用:
const url = `${this.unitDetailsUrl}/?unit_id=${unitId}`;
我得到了 1.1、2.1、3.1、3.2 等单元 ID 值所需的结果。 但是,对于 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 的值,而不是完全匹配 url。有人可以帮我做一个精确匹配吗?
我明白了。我假设 ${unitId}
将被替换为例如1. 尝试像这样在末尾添加 ^ 和 $
${this.unitDetailsUrl}/?unit_id=^${unitId}$
例如detailedUrl/?unit_id=^1$
库使用这些参数就好像它是一个正则表达式一样。添加^表示看字符串的开头,$表示看字符串的结尾。传递 1,将只匹配 1,而不匹配 2.1 或 3.1