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

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

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

直接拦截HttpRequestMethodNotSupportedException这个异常?

@ExceptionHandler(HttpRequestMethodNotSupportedException.class)
public ResponseEntity handleHttpRequestMethodNotSupportedException(HttpRequestMethodNotSupportedException e) {
    log.error("不支持的方法:{}", e.getMessage());
    return new ResponseEntity(HttpStatus.METHOD_NOT_ALLOWED);
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题