Установить параметр тела в угловом HttpClient - PullRequest
0 голосов
/ 23 мая 2019

У меня есть Asp.Net Core Web API с угловой структурой.

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

    [HttpGet]

    public ActionResult<IEnumerable<MyModel>> Get([FromBody] MyParameter parameter) { ... }

И мое клиентское приложение называется API следующим образом:

return this.httpClient.get<MyModel[]>(`${environment.api}values`);

Как настроить Body в вызове API?

Спасибо

Ответы [ 2 ]

1 голос
/ 23 мая 2019

Невозможно отправить тело в качестве параметра в запросе Get. Пожалуйста, используйте POST

API

[HttpPost]

public ActionResult<IEnumerable<MyModel>> Get([FromBody] MyParameter parameter) { ... }

UI

return this.httpClient.post<MyModel[]>(`${environment.api}values`);

Если вы хотите получить пользователя, вы можете передать свойства params как querystring

1 голос
/ 23 мая 2019

В HttpGet of Angular вы не можете установить тело, вы можете установить только URL и опции http, как это

getConfigResponse(): Observable<HttpResponse<Config>> {
  return this.http.get<Config>(
    this.configUrl, { observe: 'response' });
}

Так что, если вы хотите отправить тело, вы должны использовать пост-запрос как этот

return this.http.post<Hero>(this.heroesUrl, hero, httpOptions)
...