【发布时间】:2016-12-09 08:37:45
【问题描述】:
我有一个GlobalExceptionHandler,它可以捕获异常并返回一个 HTTP 错误代码。
@ControllerAdvice
@Component
public class GlobalExceptionHandler {
private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class);
...
// 404 - Not Found
@ExceptionHandler(NoHandlerFoundException.class)
@ResponseStatus(HttpStatus.NOT_FOUND)
public void requestHandlingNoHandlerFound(HttpServletRequest request, Exception exception) {
logger.error("Error Not Found (404): " + exception.getMessage());
}
...
}
这可以正常工作并以404 响应。但 HTTP 响应如下所示:
HTTP/1.1 404
X-Application-Context: application:8080
Content-Length: 0
Date: Wed, 03 Aug 2016 14:36:52 GMT
但应该返回:
HTTP/1.1 404 Not Found
X-Application-Context: application:8080
Content-Length: 0
Date: Wed, 03 Aug 2016 14:36:52 GMT
Not Found 部分丢失。这与其他错误相同。例如500 - Internal Server Error
关于如何包含此内容的任何想法?
更新: 从 Spring Boot 1.4.0 降级到 1.3.7 解决了这个问题
【问题讨论】:
-
我真的,真的希望你的意思是 Spring Boot 1.4.0 -> 1.3.7
标签: java spring rest spring-mvc spring-boot