【发布时间】:2018-01-22 01:44:12
【问题描述】:
我正在使用 Spring Boot 创建一个需要在 Angular 4 中使用的 API。Spring 和 Angular 位于不同的端口上。
问题在于 Spring 的 ResponseEntity 在 Angular 中引发了错误。
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public ResponseEntity getFlow(@PathVariable int id) {
Flow flow = flowService.findById(id);
return new ResponseEntity(flow, HttpStatus.FOUND);
}
现在,我可以完美地使用 Postman 来测试 API 并且它可以工作了。
奇怪的是,它会在请求的对象旁边返回一个错误。
现在,问题的原因是 Spring Boot 应用程序返回一个 ResponseEntity 而不是一个普通对象(如 String),而 Angular 不知道如何解释它。如果控制器只返回一个 Flow 对象,它就可以工作。
如何使用 ResponseEntity 解决?或者,我还能如何将对象与 HTTP 状态代码一起发送?
【问题讨论】:
-
使用 HttpStatus.Found 有什么具体原因吗?这是一个成功的响应尝试发送 HttpStatus.Ok
标签: spring angular spring-mvc spring-boot