相关疑难解决方法(0)

Spring Boot @ControllerAdvice异常处理程序未返回HTTP状态文本

我有一个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());
    }

    ...

}
Run Code Online (Sandbox Code Playgroud)

这可以正常工作,并显示404。但是HTTP响应看起来像这样:

HTTP/1.1 404 
X-Application-Context: application:8080
Content-Length: 0
Date: Wed, 03 Aug 2016 14:36:52 GMT
Run Code Online (Sandbox Code Playgroud)

但应返回:

HTTP/1.1 404 Not Found
X-Application-Context: application:8080
Content-Length: 0
Date: Wed, 03 Aug 2016 14:36:52 GMT
Run Code Online (Sandbox Code Playgroud)

Not Found部分丢失。其他错误也一样。例如500 - Internal …

java rest spring spring-mvc spring-boot

5
推荐指数
1
解决办法
2751
查看次数

标签 统计

java ×1

rest ×1

spring ×1

spring-boot ×1

spring-mvc ×1