Closed
Description
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 Fixed name of annotation and a typo in the code. #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.
Metadata
Metadata
Assignees
Labels
No labels