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

本篇文章给大家分享的是有关@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 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字符串
当前URL:http://hbruida.cn/article/gsejcs.html