SpringMVC已经提供了JSON交互的功能,jackson
使用方法需要导包
<!-- json和bean之间相互转换 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.4</version>
</dependency>
@RequestBody(不常用)
作用:
@RequestBody注解用于读取HTTP请求的内容(== JSON字符串 ==),通过SpringMVC提供HttpMessageConveter接口将读到的内容(JSON字符串)转换为Java对象,并绑定到Controller方法的参数上
限制:
前端必须传递一个json格式的字符串
ajax必须标明:contentType: ‘application/json’
@ReponseBody
作用:
@ReponseBody注解用于将Controller的方法 的返回的对象(Java对象),通过Spring提供的HttpMessageConveter接口将数据转成 指定的 数据格式(JSON、xml),通过response相应给客户端
例子:
@RequestMapping("/getUserById")
@ResponseBody
public HashMap<String ,Object> getUserById(User user){
User user1 = userService.selectUserById(user.getAccountId());
HashMap<String, Object> result = new HashMap<>();
result.put("code",0);
result.put("msg","成功");
result.put("data",user1);
return result;
}
会直接把HashMap转换成json格式传递给前端