Java 将Spring版本更新到4.2.3后,Spring控制器返回500服务器错误

Java 将Spring版本更新到4.2.3后,Spring控制器返回500服务器错误,java,spring,spring-mvc,Java,Spring,Spring Mvc,我使用的是Spring4.1.8.RELEASEversion,应用程序中没有任何问题。我对用作REST资源的Spring控制器进行了基本设置,并定义了以下资源: @RequestMapping( value = "/emailvalidation", method = RequestMethod.POST) public ResponseEntity userEmailValidation( @Valid @Request

我使用的是Spring
4.1.8.RELEASE
version,应用程序中没有任何问题。我对用作REST资源的Spring控制器进行了基本设置,并定义了以下资源:

@RequestMapping(
            value = "/emailvalidation",
            method = RequestMethod.POST)
public ResponseEntity userEmailValidation(
            @Valid @RequestBody UserEmailValidationRequest request, BindingResult bindingResult) {
    validator.validate(ErrorCode.class, bindingResult);

    backendClient().validateUserEmail(request);

    return new ResponseEntity(HttpStatus.NO_CONTENT);
}
这是一个正常工作的资源,如果验证通过,它将返回一个HTTP状态为201的成功响应

问题是,在将版本更新为
4.2.3.RELEASE
之后,资源始终返回HTTP状态500


有没有一种新的方式来处理我确实想发布的资源,但是没有响应数据?我找不到关于此的任何更新,也找不到任何问题。

问题是存在运行时异常,导致方法返回
500
状态

我有一个
LoggingFilter
,它扩展了
org.springframework.web.filter.OncePerRequestFilter
。在这个过滤器中,我有一个试图获取响应输出流的方法(参见下面的用法)

在4.2之前的版本中,当没有响应数据时,
response.getOutputBuffer()
返回
字节[0]
,因此一切正常。
自版本4.2.*以来,如果没有响应数据,则将其更改为返回
null
。这导致了
NullPointerException
,它产生了
500服务器错误

NullPointerException。在代码的某个地方。这与Spring框架无关。不幸的是,该异常可能无法在控制台上打印


错误500:SRVE0295E:报告的错误:500

500可能是由许多原因造成的,您应该提供更详细的错误日志。没有错误日志。很遗憾,该方法是正确处理的,但是客户端始终收到500。代码是否执行了?@AdamSkywalker是的,代码成功执行,没有任何错误。然而,正如我在前面的评论中提到的,客户端接收到500个错误,并且没有任何错误。那么浏览器控制台会怎么说呢?
byte[] responseData = response.getOutputBuffer();
String payload = new String(responseData).replace("\n", "");
message.append(";payload=").append(payload);