天天看點

SpringMVC json資料互動(ajax)

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