在進行前后端分離的時候,我們經常需要后端api返回json數據給前端進行渲染顯示。這時,我們可以在controller中封裝json返回,方便我們在不同情景下快速地使用。
這里演示一個Java Spring Boot項目中controller如何封裝json返回的方法。我們使用@RestController注解來標識控制層,并在對應的方法中使用ResponseEntity來返回json數據給前端。以下是代碼示例:
@RestController @RequestMapping("/api") public class DemoController { @Autowired private DemoService demoService; @GetMapping("/demo") public ResponseEntity
在上面的例子中,我們可以從路徑/api/demo獲取一些演示數據。首先,我們新建一個HashMap作為返回值,并且嘗試從demoService中獲取查詢結果。如果查詢成功,我們將success設為true,并且將數據存到hashMap中一起返回給前端。如果查詢失敗,我們則將success設為false,并且存儲異常信息的message值,之后使用ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)來告訴前端服務器發生了一個500的錯誤,錯誤信息在body中返回。
可以看到,通過標準化地封裝json數據返回,在復雜的項目中可以大大減少代碼的體積,并且在后續功能或者錯誤處理上,也十分方便。