我想收到一个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即将出现。
答案 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));
}