diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/ProducesRequestCondition.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/ProducesRequestCondition.java index 2148b498cae..dfe4b6e98ec 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/ProducesRequestCondition.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/ProducesRequestCondition.java @@ -320,6 +320,17 @@ public final class ProducesRequestCondition extends AbstractRequestCondition getHandlerInternal(ServerWebExchange exchange) { + return super.getHandlerInternal(exchange) + .doOnTerminate(() -> ProducesRequestCondition.clearMediaTypesAttribute(exchange)); + } + } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/ProducesRequestCondition.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/ProducesRequestCondition.java index c0fb6ae0f22..d7aed8f58b7 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/ProducesRequestCondition.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/ProducesRequestCondition.java @@ -326,6 +326,17 @@ public final class ProducesRequestCondition extends AbstractRequestCondition