[英]how to send json data from a server to client in spring
我正在尝试获取json数据并将数据存储在db中,并向json对象发送有关运行状态的信息,我能够在db中存储数据,但是我的返回json对象无法正常工作我没有在我的java代码中获取json对象:
@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;
}
在您的@RequestMapping
注释中,定义produces = MediaTyp.APPLICATION_JSON_VALUE
。 然后,您的方法应该只返回一个简单的Map
。
返回的内容实际上是由请求中的接受标头控制的。 因此,作为替代方案,您始终可以确保您的请求要求正确的类型。 但是我认为在注释中设置产生是一个好主意,因为Spring会根据类路径上可用的库进行一些自动转换。 如果您不手动控制类型,则可能会导致安全问题。
编辑:
除了简单的Map
您还可以只返回任何Java对象,只要它可以由Jackson进行序列化即可。 在这种情况下,您可以使用Object类中的注释来控制序列化。
同样,您还需要在类路径上的Jaclson库才能起作用(如果您使用基本的Spring Boot Web App,则应该是这种情况)。
这是有关如何构建服务的官方Spring指南: http ://spring.io/guides/gs/rest-service/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.