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格式傳遞給前端