Spring MVC之RequestBody详解

作用

  获取整个请求体。如下图所示:如果出现乱码。多半就是转码失败了。一般在ajax请求可自己设置,下面会有书写。   如果不加该注释,则是获取对应的参数。如下图所示:

运用

  RequestBody一般用于得到ajax请求,响应json数据类型

案例·ajax请求

  1. 搭建环境 导入jquey.min.js文件 告知前端控制器不要拦截静态资源文件 导jackson包
  2. 响应json数据发送ajax请求
  3. 响应json数据响应ajax请求

搭建环境

  1. 导入jquey.min.js文件 <script src="js/jquery.min.js"></script>
  2. 告知前端控制器不要拦截静态资源文件 <mvc:resources location="/js/" mapping="/js/**"/> <!-- 不拦截js文件 -->
  3. 导jackson包
<!--    jackson包  -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.9.0</version>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.9.0</version>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.9.0</version>
    </dependency>

响应json数据发送ajax请求

  书写前端控制代码。利用jquey.min.js发送ajax请求。用于后台接受。

<script>
        $(function(){
          
   
            $("#btn1").click(function () {
          
   
                //alert("发送ajax请求成功");
                $.ajax({
          
   
                   // 编写json格式,设置属性和值
                    url:"textRequestBody",
                    contentType:"application/json;charset=UTF-8",
                    data:{"username":"小新","password":"123","age":"12"},
                    dataType:"json",
                    type:"post",
                    success:function (data) {
          
                  // 回调函数。成功了之后
                        // data服务器响应的json格式。进行解析

                    }
                });
            });
        });
    </script>

  在后台对应url类中的方法上参数前,添加@RequestBody当点击了之后,后台就将json数据送给参数进行解析。   在发送ajax请求,java程序接受ajax请求的时候,可以自行书写参数。参数可以是基本数据类型、String数据类型、甚至可以是Javabean对象。jackson包,已经帮我们封装好了。

响应json数据响应ajax请求

  从上面那个图片,可以看出来,我添加了返回值,并在返回值前面添加了@ResponseBody注释。没错这就是响应ajax请求递给我们的ajax回调函数。比如:我们用最简单的例子响应。如下所示:

经验分享 程序员 微信小程序 职场和发展