Spring Boot 2.2.4
- Have a controller method with
@Produces("application/x-protobuf")
. - Have a handler interceptor that writes status code 401 to the response when the controller method from #1 is invoked.
This returns an HTTP response with status code 500 and no body. After the fix of #19522, I expected status code 401 to be returned.
This seems to happen due to this code in AbstractMessageConverterMethodProcessor
around line 316:
if (isContentTypePreset || !CollectionUtils.isEmpty(producibleMediaTypes)) {
throw new HttpMessageNotWritableException(
"No converter for [" + valueType + "] with preset Content-Type '" + contentType + "'");
}
throw new HttpMediaTypeNotAcceptableException(this.allSupportedMediaTypes);
producibleMediaTypes
contains the controller's application/x-protobuf
, so HttpMessageNotWritableException
is thrown, which is turned into a 500 status code.
Comment From: bclozel
Could you provide a sample application showing the issue? I'm not sure I understand the problem here.
Comment From: spring-projects-issues
If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.
Comment From: spring-projects-issues
Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.