У меня есть запрос на получение, который требует передачи некоторых данных, как мне это сделать в моем сервисе:

private campaignUrl = environment.apiUrl + '/campaign/';

    constructor(private http: HttpRequestService) { }

    getCampaign(uuid) {
        return this.http.post(this.campaignUrl);
    }

Мне нужно передать идентификатор после campaignUrl, и это мой URL-адрес api в swagger:

/ API / кампании / { UUID } /

1
Nemanja G 13 Сен 2018 в 15:47

2 ответа

Лучший ответ

Другой ответ адекватен, но я предлагаю это, поскольку вы были почти у цели со своим примером, используя литералы шаблонов ES6 (обратные галочки):

private campaignUrl = environment.apiUrl + '/campaign/';

constructor(private http: HttpRequestService) { }

getCampaign(uuid) {
    return this.http.get(`${this.campaignUrl}/${encodeURI(uuid)}`);
}

Или со стрелками

getCampaign = (uuid) => this.http.get(`${this.campaignUrl}/${encodeURI(uuid)}`);

Обратите внимание, что вы, вероятно, захотите вызвать encodeURI() (поскольку Angular этого за вас не сделает). Вы можете пропустить это, если можете гарантировать , что строка, переданная в getCampaign, всегда имеет формат uuid (nnnn-nnnn-...).

Кроме того, вы говорите "получить запрос" в своем вопросе, но звоните .post, поэтому я предположил, что ваш текст был правильным, а код - нет.

2
msanford 13 Сен 2018 в 13:01

Получение или сообщение?

В любом случае вы можете сделать это так:

return this.http.post(this.campaignUrl + uuid);
3
Jacopo Sciampi 13 Сен 2018 в 13:12