Controller 返回 JSON 是一種常用的技術,它可以在 Web 開發中用來傳遞數據。JSON 是 JavaScript Object Notation 的縮寫,它是一種輕量級的數據交換格式,被廣泛使用。Controller 返回 JSON 的實現方式很簡單,只需要在代碼中將數據序列化為 JSON 格式,然后將其返回即可。
public class UserController { @RequestMapping("/user") public User getUser() { User user = new User(); user.setId(1); user.setName("張三"); user.setAge(20); return user; } }
在上面的代碼中,UserController 的 getUser 方法返回了一個 User 對象,我們可以將其轉換為 JSON 格式。Spring 框架提供了多種方式來實現這個轉換,最常用的方式是使用 @ResponseBody 注解。
public class UserController { @RequestMapping("/user") @ResponseBody public User getUser() { User user = new User(); user.setId(1); user.setName("張三"); user.setAge(20); return user; } }
在加上 @ResponseBody 注解后,Spring 將自動將返回值轉換為 JSON 格式,并將其作為響應發送給客戶端。
另外,還有一種更加靈活的方式是使用 ResponseEntity 對象,它可以控制響應的狀態碼、響應頭以及響應體。以下是一個簡單的示例:
public class UserController { @RequestMapping("/user") public ResponseEntity<User> getUser() { User user = new User(); user.setId(1); user.setName("張三"); user.setAge(20); HttpHeaders headers = new HttpHeaders(); headers.add("Content-Type", "application/json;charset=UTF-8"); return new ResponseEntity<User>(user, headers, HttpStatus.OK); } }
在上面的代碼中,我們可以看到 ResponseEntity 同時包含了響應體、響應頭以及狀態碼的信息,我們可以通過它來更加靈活地控制返回值。