diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMapping.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMapping.java index 60372f716cd..1a1ee0073aa 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMapping.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/RequestMappingInfoHandlerMapping.java @@ -142,9 +142,12 @@ public abstract class RequestMappingInfoHandlerMapping extends AbstractHandlerMe exchange.getAttributes().put(URI_TEMPLATE_VARIABLES_ATTRIBUTE, uriVariables); exchange.getAttributes().put(MATRIX_VARIABLES_ATTRIBUTE, matrixVariables); - if (!info.getProducesCondition().getProducibleMediaTypes().isEmpty()) { - Set mediaTypes = info.getProducesCondition().getProducibleMediaTypes(); - exchange.getAttributes().put(PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, mediaTypes); + ProducesRequestCondition producesCondition = info.getProducesCondition(); + if (!producesCondition.isEmpty()) { + Set mediaTypes = producesCondition.getProducibleMediaTypes(); + if (!mediaTypes.isEmpty()) { + exchange.getAttributes().put(PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, mediaTypes); + } } } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/RequestMappingInfoHandlerMapping.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/RequestMappingInfoHandlerMapping.java index 8c0c3a4f369..362f9831485 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/RequestMappingInfoHandlerMapping.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/RequestMappingInfoHandlerMapping.java @@ -148,9 +148,12 @@ public abstract class RequestMappingInfoHandlerMapping extends AbstractHandlerMe extractMatchDetails((PatternsRequestCondition) condition, lookupPath, request); } - if (!info.getProducesCondition().getProducibleMediaTypes().isEmpty()) { - Set mediaTypes = info.getProducesCondition().getProducibleMediaTypes(); - request.setAttribute(PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, mediaTypes); + ProducesRequestCondition producesCondition = info.getProducesCondition(); + if (!producesCondition.isEmpty()) { + Set mediaTypes = producesCondition.getProducibleMediaTypes(); + if (!mediaTypes.isEmpty()) { + request.setAttribute(PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, mediaTypes); + } } }