Use ResponseEntity Content-Type as producible media type

Issue: SPR-16172
This commit is contained in:
Rossen Stoyanchev
2017-11-10 15:05:03 -05:00
parent 780993ce75
commit 9a894ab61e
5 changed files with 77 additions and 10 deletions

View File

@@ -212,7 +212,10 @@ public abstract class AbstractMessageConverterMethodProcessor extends AbstractMe
HttpServletRequest request = inputMessage.getServletRequest();
List<MediaType> requestedMediaTypes = getAcceptableMediaTypes(request);
List<MediaType> producibleMediaTypes = getProducibleMediaTypes(request, valueType, declaredType);
MediaType contentType = outputMessage.getHeaders().getContentType();
List<MediaType> producibleMediaTypes = (contentType != null && contentType.isConcrete() ?
Collections.singletonList(contentType) : getProducibleMediaTypes(request, valueType, declaredType));
if (outputValue != null && producibleMediaTypes.isEmpty()) {
throw new HttpMessageNotWritableException("No converter found for return value of type: " + valueType);