我建立REST API(不公開,只爲我自己的網站的後端),我有用於註冊新用戶控制器:使用POST註冊用戶 - 如何正確使用ResponseEntity?
// CREATE A USER
@PostMapping("/register")
public ResponseEntity<?> createUser(
@RequestBody User user
) {
if (userService.userExists(user)) {
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("User with that username already exists.");
}
return ResponseEntity.ok(userService.saveUser(user));
}
我不喜歡在我的ResponseEntity該字符串時,用戶名已採取 - 處理這些事情的正確方法是什麼?我知道我應該從我的所有控制器中返回JSON,但我不知道如何在該方法中實現它。
而且在JSON是隻返回一個用戶名罰款此控制器:
// DELETE YOUR ACCOUNT - deletes logged in user
@DeleteMapping("/delete")
public ResponseEntity<?> deleteUser(Principal principal) {
userService.deleteUser(principal);
return ResponseEntity.ok(principal.getName());
}
我還在一下一下地在REST控制器返回非常困惑 - 什麼都要只是JSONs(我知道我也可以使用XML(和其他一些),但選擇了JSON)+狀態碼?當我嘗試構建該webapp的前端時,這會很容易使用嗎?
DELETE和UPDATE可以返回刪除或更新行數 - 在你的情況下0或1 。 – StanislavL
我正在使用實體和數據庫 - 你是什麼意思刪除行?我只是好奇它應該如何以正確的方式進行實施。 – doublemc