是否可以更改AbstractHttpMessageConverter writeInternal()方法中的响应状态代码?
在我的抽象中(扩展MappingJackson2HttpMessageConverter),我希望将错误响应更改为200,并将实际的状态代码(例如400)添加到JSON中的状态字段中。
编辑1
我返回的代码如下:
JSONObject json= new JSONObject();
json.put("name", "My Name");
return new ResponseEntity<JSONObject>(json, HttpStatus.OK);
JSONObject json= new JSONObject();
json.put("error", "My Error");
return new ResponseEntity<JSONObject>(json, HttpStatus.BAD_REQUEST);
所以对于这两个变体来说,这意味着:
{ "status": 200, "response": { "name": "My Name" } }
{ "status": 400, "response": { "error": "My Error" } }
在这两种情况下,都将返回http状态200。
我想通过扩展MappingJackson2HttpMessageConverter和重写writeInternal方法来实现这一点,但不幸的是,我无法更改状态代码。
注我不想在我的控制器类中这样做。它们应该只返回基本json结构。
不,这是不可能的。HttpMessageConverter可以设置某些标题并写入消息正文,但不能设置状态代码。在将对象发送到HttpMessageConverter之前,您可以将状态代码更改为200,并将属性设置为400。
我喜欢使用ResponseEntity对象,它允许您在设置对象的同时设置状态代码,但是如果没有看到您的代码,我不知道它是否适用于您。
我有一个用Java编写的Spring Boot应用程序,它是一个REST API。该服务(Svc A)调用REST API服务(Svc B),该服务也是用Java编写的Spring Boot应用程序。当没有找到数据时,Svc B返回404状态码。我需要将此响应更改为200状态代码,并返回一个空响应对象。我不确定是否或如何做到这一点。 我可以捕捉错误,并确定404是否是这个没有数据发现的错误。但是,
今天早上在wards上,我面临一个react原生android构建的问题。代码中的新更改不反映在设备上。没有生成失败。我试了以下几种 已删除并重新安装节点模块 反应-本机链接 ./gradlew clean 反应-本机包--平台android--开发人员false--条目-文件index.js--bundle-输出android/app/src/main/assets/index.android.
我有下面的servlet过滤器。
我正在尝试使用OWIN外部登录到Google/Facebook。 面临的问题是owin挑战不断将响应类型从令牌更改为代码。 挑战生成以下URL:https://accounts.google.com/o/oauth2/auth?response_type=code 这将返回来自google的错误。如果我改变response_type令牌(response_type=令牌)它的工作。 下面是OAut
问题内容: 在似乎是填充得很好,但不管是什么方法,我用,我似乎无法获取适配器来填充数据。我曾尝试添加到,也添加到。无论哪种方式,我都无法在水平上或在其本身上获得响应(当然,它什么也没做)。谁能看到什么问题? } LogCat显示data.size()中期望的值数,但autoCompleteAdapter.getCount()中显示为零。 问题答案: ArrayList似乎可以很好地填充,但是无论我
如图所示,添加操作显示“响应类(状态200)”。但是,add操作的实现方式使其永远不会返回200。一旦成功,它就会返回201。 我的问题是如何将(状态200)更改为(状态201)?本部分代码如下: 谢谢