我們在使用ResponseEntity時,更多的是為了設(shè)置不同的HttpResponse Code,如果你的系統(tǒng)偏好是通過Response Body中的Code來判斷API狀態(tài)即幾乎所有API的HttpResponse Code=200,那么完全可以不使用ResponseEntity作為返回數(shù)據(jù)類型,只需要去返回Response Body,通過Body中開發(fā)者自定義的Code給API設(shè)置狀態(tài)
例如 Response Body
{
code: 200,
ErrorMessage: "error message",
data: {}
}
Get請求時
return ResponseEntity.ok();
@GetMapping({"findAll"})
public ResponseEntity<PageResult<User>> findAll(@RequestParam(name = "admin", required = false) String admin, @RequestParam(name = "page", defaultValue = "1") Integer page, @RequestParam(name = "rows", defaultValue = "10") Integer rows) {
PageResult<User> userPageResult = this.userService.findAll(admin, page, rows);
return ResponseEntity.ok(userPageResult);
}
Post請求新增一條記錄時,有返回值
return ResponseEntity.status(HttpStatus.CREATE).body();()存放返回的內(nèi)容
@PostMapping("save")
public ResponseEntity save(@RequestBody User user) throws Exception {
return ResponseEntity.status(HttpStatus.CREATED).body(this.userService.save(user));
}
Post請求新增一條記錄時,無返回值
return new ResponseEntity(HttpStatus.CREATED);
Delete刪除請求,無返回
return new ResponseEntity(HttpStatus.NO_CONTENT);
@DeleteMapping({"delete"})
public ResponseEntity delete(@RequestParam(name = "ids") Integer[] ids) {
return ResponseEntity.ok(this.userService.delete(ids));
}
Put更新請求,無返回值
ResponseEntity.noContent().build();
@PutMapping({"update"})
public ResponseEntity update(@RequestBody User user) throws Exception {
return ResponseEntity.ok(this.userService.update(user));
}