3 回答

TA貢獻1785條經驗 獲得超4個贊
您可以使用org.springframework.http.ResponseEntity.
<dependency>
? ? <groupId>org.springframework.boot</groupId>
? ? <artifactId>spring-boot-starter-web</artifactId>
? ? <version>x.x.x.RELEASE</version>
</dependency>
像這樣。
@PutMapping("/createUser")
public ResponseEntity createUser(@RequestBody User user) {
? ? User thisValue = repository.findByUsername(user.getUsername());
? ? if (thisValue != null) {
? ? ? ? return ResponseEntity.badRequest().build();
? ? }
? ? return ResponseEntity.ok().build();
}

TA貢獻1936條經驗 獲得超7個贊
除了返回顯式 之外ResponseEntity
,您還可以拋出在類級別用 注釋的異常(或允許異常轉義)@ResponseStatus
。默認的 Spring MVC 配置將攔截來自控制器方法的任何異常,如果沒有注釋,則返回 HTTP 500(一般“服務器錯誤”);如果有,則返回指定的狀態。

TA貢獻1111條經驗 獲得超0個贊
在普通控制器中:
@PutMapping("/createUser")
public ModelAndView createUser(@RequestBody User user) {
ModelAndView mv= new ModelAndView("reached-here");
User thisValue = repository.findByUsername(user.getUsername());
if (thisValue != null) {
model.setStatus(HttpStatus.BAD_REQUEST);
model.setValueName("account-exist");
}else{
model.setStatus(HttpStatus.OK);
}
return mv;
}
在 REST 控制器中:
@PutMapping("/createUser")
public ResponseEntity<String> createUser(@RequestBody User user) {
User thisValue = repository.findByUsername(user.getUsername());
if (thisValue != null) {
return new ResponseEntity<String>("account-exist", HttpStatus.BAD_REQUEST);
}else{
return new ResponseEntity<String>("reached here", HttpStatus.OK);
}
}
添加回答
舉報