美文网首页程序员Java 杂谈
有关SpringMVC @RequestBody使用及应注意的坑

有关SpringMVC @RequestBody使用及应注意的坑

作者: 之乏 | 来源:发表于2018-08-28 14:45 被阅读0次

    一、前端应注意:

    1.前台JSON格式数据必须组装正确

    2.前台传JSON数据时,必须为JSON字符串,不能为JSON对象

    3.ajax传输时一定要指定Content-Type:'application/json;charset=UTF-8',

    4.dataType : "json",

    5.将组装好的JSON数据转换为JSON字符串      data : JSON.stringify(params),

    6.1非基本类型的参数绑定映射,前台传JSON数据时无需再考虑key要与controller接收方法中的参数名称一致了,只需考虑参数的类型就可以。是什么类型,前台就组装什么类型的JSON数据。

    例如:List,Map,List<Map<?,?>>等

       @RequestMapping("/test.act")

       @ResponseBody

       public void test(@RequestBody List<String> list) {

           System.out.println("getParams : " + list);

        }

    这个时候,前台JSON就不要这样去组装了:{“list”:[“a1”,”a2”]}

    正确组装方式:[“a1”,”a2”]

    6.2基本类型的参数绑定映射,前台传JSON数据时key需不需要保持与controller接收方法中的参数名称一致 [ 都 可 以 ]

    例如:String等

       @RequestMapping("/test.act")

       @ResponseBody

       public void test(@RequestBody String str) {

           System.out.println("getParams : " + str);

        }

    这个时候,传:{" str ":"zhangsan"}  {" str123 ":"zhangsan"} 都可以


    二、后端应注意:

    1.要有jackson相关依赖的全部jar包(内部主要是靠它来解析)

    2.controller方法入参,作为接收的参数前,使用@RequestBody标识

    这样从前端到后端数据的传输,基本问题就不大了

    附加内容:复杂JSON组装

    相关文章

      网友评论

        本文标题:有关SpringMVC @RequestBody使用及应注意的坑

        本文链接:https://www.haomeiwen.com/subject/ctafwftx.html