Сообщение об ошибке в Angular 6 с Spring Response Entity - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть веб-приложение с Springboot и Angular 6.

Сущность ответа с подробным сообщением об ошибке не отображает правильную ошибку в Angular (вместо «Invalid Excel file» отображается «Http error response forhttp://localhost:8081/api/v1/activities/excel/import: 500 OK ")

Код контроллера:

...
@PostMapping("/activities/excel/import")
public ResponseEntity<?> import(...) {
    return new ResponseEntity<> ("Invalid Excel file", HttpStatus.BAD_REQUEST);
}
...

UI (Angular 6):

importFromExcel() {
    this.activityService.importFromExcel(this.file).subscribe(
        (result) => {...},
        (error) => {
            console.log (error.error) //displays undefined
            console.log (error.name) //displays undefined
            console.log (error.message) //displays  undefined
            console.log(JSON.stringify(error)) //displays Http failure response for http://localhost:8081/api/v1/activities/excel/import: 500 OK 
        }
    )
}         

Как получить ответ HTTPbody?


РЕШЕНИЕ ПРОБЛЕМЫ
Перехватчик (который был добавлен в другие части кода) обрабатывал сообщения об ошибках от серверной части неполным образом.В результате в некоторых местах приложения (например, в моем примере) сообщения об ошибках больше не отображались.Выявлена ​​проблема:).

1 Ответ

0 голосов
/ 04 февраля 2019

Вы можете получить тело ответа http следующим образом:

this.activityService.importFromExcel(this.file).subscribe(
  data => console.log('success', data),
  error => console.log('oops', error.error)
);

* error.error должен содержать тело ответа HTTP.

Пожалуйста, проверьте следующие ссылки для получения дополнительной информации:

  1. Перехват ошибок в Angular HttpClient
  2. Angular 6: Как задать тип ответа в виде текста при выполнении http-вызова
  3. HttpErrorResponse # error не является ошибкой на стороне клиента / ошибка сети
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...