Интересно, как лучше всего получить сообщение с сервера (Spring Boot) и отобразить его во внешнем интерфейсе (Vue JS, ES6).
Backend (мой единственный подход с успехом - передать сообщение об ошибке)в заголовке, но, может быть, есть лучшее решение?):
public ResponseEntity<?> getOneReport(@PathVariable Long incidentId) {
...
HttpHeaders header = new HttpHeaders();
header.setContentType(MediaType.TEXT_PLAIN);
header.set("text", "My custom error message");
return ResponseEntity.notFound()
.headers(header)
.build();
Фронтенд:
axios.get(...)
.then(...)
.catch((error) => {
console.log(error.headers.text);
Я попытался передать свое пользовательское сообщение об ошибке от сервиса к клиенту, как это:
return new ResponseEntity<Object>(
"My custom error message that I want to display in frontend", new HttpHeaders(), HttpStatus.FORBIDDEN);
но я не знаю, как прочитать это сообщение от моего клиента (ES6 / Vue js):
.catch((error) => {
console.log(error.error);
или
.catch((error) => {
console.log(error.response.data); -> I get Blob {size: 59, type: "text/plain"}