我有一个带有Springboot和Angular 6的Web应用程序。
带有详细错误消息的响应实体未在Angular中显示正确的错误(而不是“无效的Excel文件”显示“ http://localhost:8081/api/v1/activities/excel/import:确定为500”)
控制器代码:
...
@PostMapping("/activities/excel/import")
public ResponseEntity<?> import(...) {
return new ResponseEntity<> ("Invalid Excel file", HttpStatus.BAD_REQUEST);
}
...
UI(角度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
}
)
}
如何获取HTTP响应正文?
解决的问题
拦截器(已在代码的其他部分添加)正在以不完整的方式处理来自后端的错误消息。结果,在应用程序的某些位置(例如我的示例),错误消息不再显示。发现问题:)。
答案 0 :(得分:0)
您可以通过以下方式检索http响应正文:
this.activityService.importFromExcel(this.file).subscribe(
data => console.log('success', data),
error => console.log('oops', error.error)
);
error.error
应该包含HTTP响应正文。
请检查以下链接以获取更多信息: