我正在使用Spring创建一个需要在角4中使用的API。Spring和角在不同的端口上。
问题是弹簧的ResponseEntity在角度上引起了一个错误.
@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应用程序返回一个ResponseEntity,而不是一个普通的对象(比如字符串),而Angular不知道如何解释它。如果控制器只返回一个流对象,它就能工作。
如何使用ResponseEntity解决这一问题?或者,否则我如何将对象与HTTP状态代码一起发送?
发布于 2020-02-05 23:39:17
此外,在@RequestMapping = "application/json“中,以及在get request中添加http选项:
const httpOptions = {
headers: new HttpHeaders({
'Accept': 'application/json',
'Content-Type': 'application/json'
})
};您的get请求如下所示:
this.http.get(url, httpOptions)发布于 2017-08-14 09:33:43
根据这里提到的文件
https://docs.angularjs.org/api/ng/service/$http
200到299之间的响应状态代码被认为是成功状态,并将导致调用成功回调。该范围之外的任何响应状态代码都被视为错误状态,并将导致调用错误回调。此外,小于-1的状态码被归一化为零.-1通常意味着请求被中止,例如使用config.timeout。注意,如果响应是重定向的,XMLHttpRequest将透明地遵循它,这意味着结果(成功或错误)将由最终的响应状态代码决定。
当您发送ResponseEntity(HttpStatus.Found)实例时,其Http状态代码为302,这并不属于成功范围,这就是为什么调用错误回调的原因。
发布于 2022-10-30 03:00:54
尝试像这样返回内容
return new ResponseEntity(flow, HttpStatus.OK);https://stackoverflow.com/questions/45670793
复制相似问题