我正在尝试获取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;
         }

最佳答案

@RequestMapping批注中定义produces = MediaTyp.APPLICATION_JSON_VALUE。然后,您的方法应该只返回一个简单的Map

返回的内容实际上是由请求中的接受标头控制的。因此,作为替代方案,您始终可以确保您的请求要求正确的类型。但是我认为在注释中设置产生是一个好主意,因为Spring会根据类路径上可用的库进行一些自动转换。如果您不手动控制类型,则可能会导致安全问题。

编辑:

除了简单的Map,您还可以返回任何Java对象,只要它可以由Jackson进行序列化即可。在这种情况下,您可以使用Object类中的注释来控制序列化。

同样,您还需要在类路径上的Jaclson库才能起作用(如果您使用基本的Spring Boot Web App,则应该是这种情况)。

这是有关如何构建服务的官方Spring指南:

关于java - 如何在 Spring 将json数据从服务器发送到客户端,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32328501/

10-11 22:35
查看更多