我有@ControllerAdvice
来处理我的Rest API上的异常。
它看起来像是:
@RestControllerAdvice
public class GlobalResponseEntityExceptionHandler {
@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseEntity handleValidtionErrors(MethodArgumentNotValidException ex) {
return ResponseEntity.badRequest()
.contentType(MediaType.APPLICATION_JSON)
.body(ex.getBindingResult());
}
我可以在需要时获得400,但我可以将return ResponseEntity.badRequest()
替换为return ResponseEntity.ok()
,它仍会有HTTP状态400.
我做错了什么?
答案 0 :(得分:0)
您需要使用@ResponseStatus(HttpStatus.OK)
注释您的方法,以便在这种情况下返回200 OK。看看这个
它还说明了,
状态代码在处理程序时应用于HTTP响应 调用方法并覆盖其他方式设置的状态信息, 比如ResponseEntity或"重定向:"。
我相信即使您使用return ResponseEntity.OK