我想知道从服务器(Spring Boot)检索消息并在前端(Vue JS,ES6)显示的野兽方法是什么。
后端(这是我成功的唯一方法,可以在标头中传递错误消息,但是也许有更好的解决方案?):
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"}
答案 0 :(得分:0)
您尝试使用response.headers吗?
axios.get(...)
.then(response){
console.log(response.headers)
}
.catch((error) => {
console.log(error.headers.text);