首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹簧+角度:如何用角度解析ResponseEntity?

弹簧+角度:如何用角度解析ResponseEntity?
EN

Stack Overflow用户
提问于 2017-08-14 08:54:21
回答 3查看 12.7K关注 0票数 2

我正在使用Spring创建一个需要在角4中使用的API。Spring和角在不同的端口上。

问题是弹簧的ResponseEntity在角度上引起了一个错误.

代码语言:javascript
复制
@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状态代码一起发送?

EN

回答 3

Stack Overflow用户

发布于 2020-02-05 23:39:17

此外,在@RequestMapping = "application/json“中,以及在get request中添加http选项:

代码语言:javascript
复制
const httpOptions = {
    headers: new HttpHeaders({
        'Accept': 'application/json',
        'Content-Type': 'application/json'
    })
};

您的get请求如下所示:

代码语言:javascript
复制
this.http.get(url, httpOptions)
票数 1
EN

Stack Overflow用户

发布于 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,这并不属于成功范围,这就是为什么调用错误回调的原因。

票数 0
EN

Stack Overflow用户

发布于 2022-10-30 03:00:54

尝试像这样返回内容

代码语言:javascript
复制
return new ResponseEntity(flow, HttpStatus.OK);
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45670793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档