diff --git a/spring-web/src/main/java/org/springframework/http/codec/multipart/PartEventHttpMessageReader.java b/spring-web/src/main/java/org/springframework/http/codec/multipart/PartEventHttpMessageReader.java index 28916e5260..c3cf37df92 100644 --- a/spring-web/src/main/java/org/springframework/http/codec/multipart/PartEventHttpMessageReader.java +++ b/spring-web/src/main/java/org/springframework/http/codec/multipart/PartEventHttpMessageReader.java @@ -168,8 +168,7 @@ public class PartEventHttpMessageReader extends LoggingCodecSupport implements H HttpHeaders headers = headersToken.headers(); Flux bodyTokens = - flux.filter(t -> t instanceof MultipartParser.BodyToken) - .cast(MultipartParser.BodyToken.class); + flux.ofType(MultipartParser.BodyToken.class); return createEvents(headers, bodyTokens); } else { diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/function/MultipartRouterFunctionIntegrationTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/function/MultipartRouterFunctionIntegrationTests.java index 198d73b972..1268d8a15a 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/function/MultipartRouterFunctionIntegrationTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/function/MultipartRouterFunctionIntegrationTests.java @@ -240,9 +240,8 @@ class MultipartRouterFunctionIntegrationTests extends AbstractRouterFunctionInte public Mono transferTo(ServerRequest request) { return request.body(BodyExtractors.toParts()) - .filter(FilePart.class::isInstance) + .ofType(FilePart.class) .next() - .cast(FilePart.class) .flatMap(part -> createTempFile() .flatMap(tempFile -> part.transferTo(tempFile)