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 60372f716cd3..1a1ee0073aaf 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 @@ protected void handleMatch(RequestMappingInfo info, HandlerMethod handlerMethod, 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 8c0c3a4f3690..362f98314855 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 @@ protected void handleMatch(RequestMappingInfo info, String lookupPath, HttpServl 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); + } } }