在使用controller獲取json字符串時,我們可以使用Spring MVC提供的ResponseEntity對象來封裝返回的數(shù)據(jù)。使用ResponseEntity的好處是可以靈活地控制HTTP響應(yīng)的狀態(tài)碼、響應(yīng)頭和響應(yīng)體的內(nèi)容。
@GetMapping("/users/{id}") public ResponseEntitygetUserById(@PathVariable Long id) { User user = userService.getUserById(id); if (user != null) { return ResponseEntity.ok(user); } else { return ResponseEntity.notFound().build(); } }
在上述代碼中,我們通過@GetMapping注解聲明了一個GET請求的路由,其中{id}是一個路徑變量,其值由客戶端傳入。方法的返回類型為ResponseEntity<User>,表示返回的響應(yīng)體是一個User類型的對象。
在方法體內(nèi),我們通過userSerivce調(diào)用getUserById方法,獲取ID為{id}的用戶信息。如果用戶存在,則通過ResponseEntity.ok(user)方法將用戶信息封裝成一個響應(yīng)體,并返回HTTP響應(yīng)碼為200(成功);如果用戶不存在,則通過ResponseEntity.notFound().build()方法返回HTTP響應(yīng)碼為404(未找到)。通過這種方式,我們可以對業(yè)務(wù)進(jìn)行靈活的控制,滿足不同業(yè)務(wù)場景的需求。