2017-01-05 9 views
1

나는 다음과 같은 코드를 사용하여이 특정 단위 ID에 대한 데이터를 얻을 수있는 매개 변수 "UnitID"를 사용하고 있습니다 :Angular2에서 메모리 내 웹 API에 전달 된 정확한 URL 매개 변수를 일치시키는 방법은 무엇입니까?

this.unitDetailsService.getUnitDetailsbyId(this.activeUnitId) 

나는 URL을 구성하는 데이 activeUnitId 매개 변수를 사용하고 다음 코드를 사용하여 메모리 서비스에 사용되는 :

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

I이다 단위 1과 같은 장치 ID 값은 1.1, 2.1, 3.1, 3.2 등 단, I는 얻고 원하지 않는 결과, 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입니다.

정확한 URL과 일치하지 않고 전달 된 단위 ID로 구성되는 모든 값과 일치한다고 생각합니다. 누군가 내가 정확한 일치를하도록 도울 수 있습니까?

+0

당신이하려는 것을 이해하기가 어렵습니다. 일치하는 곳은 어디입니까? – John

+0

unitId = 1을 전달하면 unitId = 1 만 일치하는 결과가 나타납니다. 지금은 1, 1.1, 2.1, 3.1 등과 관련된 모든 결과를 얻고 있습니다. 그것. –

+0

API에서 일치 알고리즘은 어떻게 생겼습니까? "2.1", "3.1"및 "1"이 모두 "1"과 일치하기 때문에'match (unitId) '대신'equals (unitId) '와 비슷한 방법이어야합니다. 그러나,'equals (unitId)'는 여러분이 api에주는'unitId'만으로 결과를 반환 할 것입니다. 귀하의 API 코드를 제공 할 수 있습니까? – John

답변

1

나는 본다. ${unitId}은 예 : 이 정규 표현식이었다 것처럼 1. 추가보십시오 ^이

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

예컨대 detailedUrl/?unit_id=^1$

도서관 같은 말에 $는 매개 변수를 사용합니다. ^를 추가하면 문자열의 시작을 의미하고 $는 문자열의 끝을 의미합니다. 1을 합격하면 2.1 또는 3.1이 아닌 1에만 일치합니다.

+1

굉장! 이것은 내가 정확히 찾고 있었던 것이다. 감사 –