试图在Spring控制器中接收一个帖子的JSON,但它是以null为单位,我该如何解决?

时间:2017-07-14 14:48:24

标签: json spring spring-mvc post

我想收到一个JSONObject,我稍后将在Spring中转换为我自己的Object。这是我的控制器代码,其中objJson具有空值:

@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, value ="postObj")
    public void postObj(@RequestBody JSONObject objJson){
        objCompleteService.insertObj(objJson);  
    }

我和邮递员发送邮件:

{"obj":"Test","objId":0,"definition":"post","languageId":0,"meaning":"post","submitterId":0}

并将Content-Type设置为application / json;字符集= UTF-8

objJson即将出现。

1 个答案:

答案 0 :(得分:1)

您将获得JSON作为地图。 Paylod是整个JSON对象。您可以根据需要反序列化对象。如果您要发送原始数据,请使用@RequestBody,但如果您要发送表单数据,请使用@RequestParam

 @PostMapping(value = "/postObj")
 @Timed
 public void postObj(@RequestBody Map<String, Object> payload){
     JSONObject jsonObject = new JSONObject(new ObjectMapper().writeValueAsString(payload));
 }