@RequestBody获取POST方式的json字符串

2023-05-21,,

本篇文章给大家分享的是有关@RequestBody获取POST方式的json字符串,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

前端写法:

 var json_data={
       "name" : "demographics",
       "params" : [1 , 2, 3],
       "items" : [ {"name" : "中文", "value" : 10 }, 
             {"name": "item2", "value" : 20 }
            ]
      };
    $.ajax({
    url : 'chart/graphics',
    type : 'post',
    data : JSON.stringify(json_data),
    contentType : 'application/json;charset=utf-8'  //中文需要加上charset=utf-8才正确
   });

后端写法

  @RequestMapping(value="/{name}", method=RequestMethod.POST, produces="application/json;charset=utf-8;")
  @ResponseBody
  public String postDashboardItem( 
      @PathVariable(value="name") String name,
      @RequestBody String params, 

       Model model) {

   JSONObject object= JSON.parseObject(params);

   //do somthings

   return ""; //json string

}

更正:

感谢alan_waker的提醒,重复做了map接收参数的实验,效果不错。

前端写法一样,

后端写法:

  @RequestMapping(value="/{name}", method=RequestMethod.POST, produces="application/json;charset=utf-8;")
  @ResponseBody
  public String postDashboardItem( 
      @PathVariable(value="name") String name,
      @RequestBody Map<String, Object> params, 

       Model model) {

   //do somthings 
   return ""; //json string

}

需要引用 jackson-databind包,否则前端会报 415错误。后台报Content type 'application/json;charset=UTF-8' not supported。

以上就是@RequestBody获取POST方式的json字符串,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注本站行业资讯频道。

《@RequestBody获取POST方式的json字符串.doc》

下载本文的Word格式文档,以方便收藏与打印。