diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/DefaultRenderingBuilder.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/DefaultRenderingBuilder.java index 9f7402fc26d3..84a264a5042b 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/DefaultRenderingBuilder.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/DefaultRenderingBuilder.java @@ -84,8 +84,8 @@ private Model initModel() { @Override public DefaultRenderingBuilder status(HttpStatusCode status) { - if (this.view instanceof RedirectView) { - ((RedirectView) this.view).setStatusCode(status); + if (this.view instanceof RedirectView redirectView) { + redirectView.setStatusCode(status); } else { this.status = status; diff --git a/spring-webflux/src/test/java/org/springframework/web/reactive/result/view/DefaultRenderingBuilderTests.java b/spring-webflux/src/test/java/org/springframework/web/reactive/result/view/DefaultRenderingBuilderTests.java index 7b97e8eab6b8..287a0377fa4a 100644 --- a/spring-webflux/src/test/java/org/springframework/web/reactive/result/view/DefaultRenderingBuilderTests.java +++ b/spring-webflux/src/test/java/org/springframework/web/reactive/result/view/DefaultRenderingBuilderTests.java @@ -49,16 +49,17 @@ void defaultValuesForRedirect() { Rendering rendering = Rendering.redirectTo("abc").build(); Object view = rendering.view(); - assertThat(view.getClass()).isEqualTo(RedirectView.class); - assertThat(((RedirectView) view).getUrl()).isEqualTo("abc"); - assertThat(((RedirectView) view).isContextRelative()).isTrue(); - assertThat(((RedirectView) view).isPropagateQuery()).isFalse(); + assertThat(view).isExactlyInstanceOf(RedirectView.class); + RedirectView redirectView = (RedirectView) view; + assertThat(redirectView.getUrl()).isEqualTo("abc"); + assertThat(redirectView.isContextRelative()).isTrue(); + assertThat(redirectView.isPropagateQuery()).isFalse(); } - @Test void viewName() { Rendering rendering = Rendering.view("foo").build(); + assertThat(rendering.view()).isEqualTo("foo"); } @@ -114,7 +115,7 @@ void redirectWithAbsoluteUrl() { Rendering rendering = Rendering.redirectTo("foo").contextRelative(false).build(); Object view = rendering.view(); - assertThat(view.getClass()).isEqualTo(RedirectView.class); + assertThat(view).isExactlyInstanceOf(RedirectView.class); assertThat(((RedirectView) view).isContextRelative()).isFalse(); } @@ -123,17 +124,17 @@ void redirectWithPropagateQuery() { Rendering rendering = Rendering.redirectTo("foo").propagateQuery(true).build(); Object view = rendering.view(); - assertThat(view.getClass()).isEqualTo(RedirectView.class); + assertThat(view).isExactlyInstanceOf(RedirectView.class); assertThat(((RedirectView) view).isPropagateQuery()).isTrue(); } - @Test // gh-33498 + @Test // gh-33498 void redirectWithCustomStatus() { HttpStatus status = HttpStatus.MOVED_PERMANENTLY; Rendering rendering = Rendering.redirectTo("foo").status(status).build(); Object view = rendering.view(); - assertThat(view.getClass()).isEqualTo(RedirectView.class); + assertThat(view).isExactlyInstanceOf(RedirectView.class); assertThat(((RedirectView) view).getStatusCode()).isEqualTo(status); }