侧边栏壁纸
博主头像
张种恩博主等级

一个能运维的 JPG 搬运工

  • 累计撰写 703 篇文章
  • 累计创建 60 个标签
  • 累计收到 25 条评论

SpringMVC(10)之Json交互

张种恩
2017-12-28 / 0 评论 / 0 点赞 / 333 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2020-02-25,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

依赖

加入 Json 支持依赖,这里使用 Jackson:

<!-- pom.xml -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.4.0</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.4.2</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.4.2</version>

返回 Json 数据

import com.zze.springmvc.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.text.ParseException;
import java.text.SimpleDateFormat;

@Controller
public class TestController {
    /**
     * 返回 JSON 格式数据
     * 返回值设为要序列化的类型,并在方法上添加上 @ResponseBody 注解
     */
    @RequestMapping("getUser")
    @ResponseBody
    public User getUser() throws ParseException {
        User user = new User();
        user.setId(1);
        user.setName("张三");
        user.setBirthday(new SimpleDateFormat("yyyy-MM-dd").parse("1998-1-1"));
        user.setGender("男");
        user.setAddress("河北");
        return user;
    }
}

image.png

接收 Json 数据

import com.zze.springmvc.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class TestController {

    /**
     * 1、使用 @RequestBody 修饰入参
     * 2、请求方式为 POST,content-type 为 application/json
     * 3、json 中字段名与 pojo 属性一致
     */
    @RequestMapping("addUser")
    @ResponseBody
    public User addUser(@RequestBody User user){
        System.out.println(user);
        user.setGender("女");
        return user;
    }
}

image.png

要使用该方式进行 JSON 交互,必须配置注解驱动。

<!--注册全局异常处理器-->
<!--配置注解驱动,相当于同时使用最新处理器映射器和处理器适配器,同时对 JSON 数据响应提供支持-->
<mvc:annotation-driven/>
0

评论区