2017-01-05 3 views
1

Я использую параметр «UnitID», чтобы получить данные для этого конкретного блока идентификатора, используя следующий код:Как совместить точные параметры url, переданные в web-api в памяти в Angular2?

this.unitDetailsService.getUnitDetailsbyId(this.activeUnitId) 

Я использую этот параметр activeUnitId построить URL для использования в в памяти службы, используя следующий код :

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

Я получаю желаемые результаты для значений идентификатор устройства, таких как 1,1, 2,1, 3,1, 3,2 и т.д. Тем не менее, я получаю нежелательные результаты для значений идентификатор устройства, как 1, 2, 3 и т.д. для блока id 1, я получаю все значения, связанные с 1, 1.1, 2.1, 3.1. Аналогично для id id 2 результат состоит из 2, 2.1, 2.2, 3.2. для идентификатора устройства 3, 3, 3.1, 3.2, 3.3, 3.4.

Я думаю, что он соответствует всем тем значениям, которые состоят из идентификатора единицы, а не соответствия точного URL-адреса. Может ли кто-нибудь помочь мне сделать точный матч?

+0

Трудно понять, что вы пытаетесь сделать. Где совпадение? – John

+0

Я имею в виду, когда я передаю unitId = 1, я должен получить результат от api, совпадающий только с unitId = 1. На данный момент я получаю все результаты, связанные с 1, 1.1, 2.1, 3.1 и т. Д., Т.е. в зависимости от того, какой unitId содержит 1 в Это. –

+0

Как выглядит ваш алгоритм соответствия на api? Это должен быть метод, аналогичный 'equals (unitId)' вместо 'match (unitId)', потому что «2.1», «3.1» и «1» соответствуют совпадению с «1». Однако 'equals (unitId)' будет возвращать результаты только с помощью 'unitId', которые вы передаете api. Можете ли вы предоставить свой код api? – John

ответ

1

Я вижу. Я предполагаю, что ${unitId} будет заменен, например. 1. Попробуй добавить^и $ в конце, как этот

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

например detailedUrl/?unit_id=^1$

библиотека использовать параметры, как если бы это было регулярное выражение. Добавление^означает просмотр начала строки, а $ означает конец строки. Передача 1, будет соответствовать только 1, а не 2.1 или 3.1

+1

Удивительный! Именно этого я и искал. благодаря –

Смежные вопросы