我正在尝试获取json数据并在db中存储数据并发送有关操作状态的json对象我能够在db中存储数据但是我的返回json对象工作不正常我没有得到json对象 我的java代码:
@RequestMapping(value = "/a",headers="Content-Type=application/json",method = RequestMethod.POST)
@ResponseBody
public JSONObject data(@RequestBody String load)
{
org.json.JSONObject obj = new org.json.JSONObject();
obj.put("Status", "Success");
obj.put("Details","DB updated");
return obj;
}
答案 0 :(得分:1)
在@RequestMapping
注释定义produces = MediaTyp.APPLICATION_JSON_VALUE
中。然后,您的方法应该返回一个简单的Map
。
返回的内容实际上是由请求中的接受标头控制的。因此,作为替代方案,您始终可以确保您的请求要求正确的类型。但是在我看来,在注释中设置产生是一个好主意,因为Spring会根据类路径上可用的库进行一些自动转换。如果您不手动控制类型,这可能会导致安全问题。
修改强>
而不是简单的Map
,只要它可以被Jackson序列化,你也可以只返回任何Java对象。在这种情况下,您可以使用Object类中的注释来控制序列化。
此外,您需要在类路径上使用Jaclson库才能使用(如果您使用基本的Spring Boot Web App,则应该是这种情况)。
以下是关于如何构建sutch服务的官方Spring指南:http://spring.io/guides/gs/rest-service/