依赖
加入 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;
}
}
接收 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;
}
}
要使用该方式进行 JSON 交互,必须配置注解驱动。
<!--注册全局异常处理器-->
<!--配置注解驱动,相当于同时使用最新处理器映射器和处理器适配器,同时对 JSON 数据响应提供支持-->
<mvc:annotation-driven/>
评论区