我试图获取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;
}
发布于 2015-09-01 03:10:47
在@RequestMapping
注释中定义produces = MediaTyp.APPLICATION_JSON_VALUE
。然后,您的方法应该返回一个简单的Map
。
返回的内容实际上由请求中的接受标头控制。因此,作为一个alternativ,您可以始终确保您的请求请求正确的类型。但是,我认为,在注释中设置产生是一个好主意,因为Spring基于类路径上可用的库进行了一些自动转换。如果您不手动控制类型,这可能会导致安全问题。
编辑:
与简单的Map
不同,您还可以返回任何Java,只要它可以由Jackson序列化。在这种情况下,可以使用对象类中的注释来控制序列化。
此外,您还需要类路径上的Jaclson库才能工作(如果您使用一个基本的,情况应该是这样)。
以下是关于如何构建sutch服务的正式Spring指南:http://spring.io/guides/gs/rest-service/
https://stackoverflow.com/questions/32328501
复制