master
Rossen Stoyanchev 8 years ago
parent 2263954ad7
commit 318b15c321
  1. 14
      spring-web-reactive/src/main/java/org/springframework/web/reactive/result/method/annotation/ResponseBodyResultHandler.java

@ -182,12 +182,13 @@ public class ResponseBodyResultHandler implements HandlerResultHandler, Ordered
MediaType bestMediaType = selectBestMediaType(compatibleMediaTypes);
if (bestMediaType != null) {
HttpMessageConverter<?> converter = resolveEncoder(elementType, bestMediaType);
if (converter != null) {
for (HttpMessageConverter<?> converter : this.messageConverters) {
if (converter.canWrite(elementType, bestMediaType)) {
ServerHttpResponse response = exchange.getResponse();
return converter.write((Publisher) publisher, elementType, bestMediaType, response);
}
}
}
return Mono.error(new NotAcceptableStatusException(this.supportedMediaTypes));
}
@ -249,13 +250,4 @@ public class ResponseBodyResultHandler implements HandlerResultHandler, Ordered
return null;
}
private HttpMessageConverter<?> resolveEncoder(ResolvableType type, MediaType mediaType) {
for (HttpMessageConverter<?> converter : this.messageConverters) {
if (converter.canWrite(type, mediaType)) {
return converter;
}
}
return null;
}
}

Loading…
Cancel
Save