侧边栏壁纸
博主头像
张种恩的技术小栈博主等级

行动起来,活在当下

  • 累计撰写 747 篇文章
  • 累计创建 65 个标签
  • 累计收到 39 条评论

目 录CONTENT

文章目录

SpringMVC(10)之Json交互

zze
zze
2017-12-28 / 0 评论 / 0 点赞 / 629 阅读 / 2737 字

不定期更新相关视频,抖音点击左上角加号后扫一扫右方侧边栏二维码关注我~正在更新《Shell其实很简单》系列

依赖

加入 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

评论区