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条经验 获得超6个赞
除了返回显式 之外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);
}
}
添加回答
举报