在前后端分離的架構中,后端通常會使用Controller來處理業務邏輯并返回數據。而返回JSON格式的數據相對于View層的HTML或JSP等模板文件更容易處理,也更方便前端進行Ajax請求和數據渲染。
在Spring MVC中,我們可以通過添加@ResponseBody注解來告訴框架將Controller的返回值轉換為JSON格式的數據并返回給前端頁面。
/** * 返回一個用戶對象的JSON數據 */ @RequestMapping(value = "/user", method = RequestMethod.GET) @ResponseBody public User getUser() { User user = new User(); user.setId(1); user.setUsername("John"); user.setPassword("password"); return user; }
在這個例子中,我們定義了一個GET請求的/user接口,返回了一個用戶對象。同時,@ResponseBody注解告訴Spring MVC將該返回值轉換為JSON數據并返回給前端頁面。
在前端頁面中,我們直接使用Ajax請求該接口即可獲取到返回的JSON數據:
$.ajax({ url: "/user", type: "get", dataType: "json", success: function (data) { console.log(data); // do something with the JSON data }, error: function (xhr, ajaxOptions, thrownError) { console.log(xhr.status); console.log(thrownError); } });
在這個例子中,我們使用jQuery的ajax方法發起了一個GET請求,聲明dataType為json,即指定返回的數據類型為JSON。成功回調中我們可以得到從Controller返回的JSON數據,并進行數據處理。
總之,使用Controller返回JSON數據是前后端分離的一個重要組成部分,能使得數據處理更加簡便快捷。