SpringBoot如何修改默认的错误返回消息?

目前用的方法是@RestControllerAdvice@ExceptionHandler,捕获抛出的异常(即500错误)。
但是如果是Request method 'GET' not supported(即405错误),则无法正常返回,得到的也是500错误。
SpringBoot中负责错误返回消息的是BasicErrorController,其通过父类AbstractErrorControllergetStatus()方法获取HttpStatus,怎么才能像BasicErrorController那样获取正确的HttpStatus返回给页面?

阅读 3.2k
2 个回答
✓ 已被采纳新手上路,请多包涵

直接拦截HttpRequestMethodNotSupportedException这个异常?

@ExceptionHandler(HttpRequestMethodNotSupportedException.class)
public ResponseEntity handleHttpRequestMethodNotSupportedException(HttpRequestMethodNotSupportedException e) {
    log.error("不支持的方法:{}", e.getMessage());
    return new ResponseEntity(HttpStatus.METHOD_NOT_ALLOWED);
}
推荐问题