В приложении Angular 7 я вызываю службу:
this.messageService.send(model).pipe(
catchError(err => {
console.log('Error:', err);
return err;
}),
map((response: Response) => {
console.log(response);
})
);
Метод службы вызывает API:
public send(model: Model): Observable<Response> {
const headers: HttpHeaders = new HttpHeaders();
headers.set('Content-Type', 'application/x-www-form-urlencoded');
console.log(model);
return this.httpClient.post<Response>>(`send`, model, { headers: headers });
}
Я могу видеть model
наКонсоль, когда я делаю console.log(model);
Но точка останова, установленная на API, не срабатывает, и я не получаю никакой ошибки в catchError
.
Действие API - ASP.NETCore 2.2.следующим образом:
[HttpPost("send")]
public async Task<IActionResult> Send([FromBody]Model model) {
return Ok();
}
ПРИМЕЧАНИЕ :
В этом же приложении я могу без проблем использовать метод httpClient
с get
.
Не уверен, что мне не хватает.Есть идеи?
ОБНОВЛЕНИЕ
Я изменил код обслуживания Angular на:
public send(model: Model): Observable<Response>> {
const headers: HttpHeaders = new HttpHeaders();
headers.set('Content-Type', 'application/json');
console.log(model);
return this.httpClient.post<Response>>(`send`, JSON.stringify(model), { headers: headers });
}
Все еще не работает.
Это угловая проблема, так как я только что опубликовал данные JSon в Postman.
Он работал с использованием Postman и без какой-либо аутентификации / авторизации.