@@ -734,6 +734,157 @@ public void testMultipartBoot() throws IOException {
734734 .containsWithNameAndAttributes ("RequestPart" , ImmutableMap .of ("value" , "\" statusArray\" " , "required" , "false" ));
735735 }
736736
737+ @ Test
738+ public void testSpringBoot3ReactiveDefaultsToIncludeHttpRequestContextTrue () throws IOException {
739+ final SpringCodegen codegen = new SpringCodegen ();
740+ codegen .setReactive (true );
741+ codegen .setLibrary ("spring-boot" );
742+ codegen .setUseSpringBoot3 (true );
743+
744+ final Map <String , File > files = generateFiles (codegen , "src/test/resources/3_0/petstore.yaml" );
745+ JavaFileAssert .assertThat (files .get ("UserApi.java" ))
746+ .assertMethod ("createUser" , "Mono<User>" , "ServerWebExchange" )
747+ .assertParameter ("exchange" ).hasType ("ServerWebExchange" )
748+ .assertParameterAnnotations ()
749+ .containsWithNameAndAttributes ("Parameter" , ImmutableMap .of ("hidden" , "true" ))
750+ .doesNotContainWithName ("ApiIgnore" );
751+
752+ JavaFileAssert .assertThat (files .get ("UserApi.java" ))
753+ .hasNoImports ("jakarta.servlet.http.HttpServletRequest" , "javax.servlet.http.HttpServletRequest" )
754+ .hasImports ("org.springframework.web.server.ServerWebExchange" );
755+ }
756+
757+ @ Test
758+ public void testSpringBootReactiveDefaultsToIncludeHttpRequestContextTrue () throws IOException {
759+ final SpringCodegen codegen = new SpringCodegen ();
760+ codegen .setReactive (true );
761+ codegen .setLibrary ("spring-boot" );
762+ codegen .setUseSpringBoot3 (false );
763+ codegen .additionalProperties ().put (DOCUMENTATION_PROVIDER , "springfox" );
764+
765+ final Map <String , File > files = generateFiles (codegen , "src/test/resources/3_0/petstore.yaml" );
766+ JavaFileAssert .assertThat (files .get ("UserApi.java" ))
767+ .assertMethod ("createUser" , "Mono<User>" , "ServerWebExchange" )
768+ .assertParameter ("exchange" ).hasType ("ServerWebExchange" )
769+ .assertParameterAnnotations ()
770+ .containsWithName ("ApiIgnore" )
771+ .doesNotContainWithName ("Parameter" );
772+
773+ JavaFileAssert .assertThat (files .get ("UserApi.java" ))
774+ .hasNoImports ("jakarta.servlet.http.HttpServletRequest" , "javax.servlet.http.HttpServletRequest" )
775+ .hasImports ("org.springframework.web.server.ServerWebExchange" );
776+ }
777+
778+
779+ @ Test
780+ public void testSpringBoot3ReactiveIncludeHttpRequestContextFalse () throws IOException {
781+ final SpringCodegen codegen = new SpringCodegen ();
782+ codegen .setReactive (true );
783+ codegen .setLibrary ("spring-boot" );
784+ codegen .setUseSpringBoot3 (true );
785+ codegen .additionalProperties ().put (INCLUDE_HTTP_REQUEST_CONTEXT , "false" );
786+
787+ final Map <String , File > files = generateFiles (codegen , "src/test/resources/3_0/petstore.yaml" );
788+ JavaFileAssert .assertThat (files .get ("UserApi.java" ))
789+ .assertMethod ("createUser" , "Mono<User>" );
790+
791+ JavaFileAssert .assertThat (files .get ("UserApi.java" ))
792+ .hasNoMethod ("createUser" , "Mono<User>" , "ServerWebExchange" );
793+
794+ JavaFileAssert .assertThat (files .get ("UserApi.java" ))
795+ .hasNoImports ("jakarta.servlet.http.HttpServletRequest" , "javax.servlet.http.HttpServletRequest" , "org.springframework.web.server.ServerWebExchange" );
796+ }
797+
798+ @ Test
799+ public void testSpringBootReactiveIncludeHttpRequestContextFalse () throws IOException {
800+ final SpringCodegen codegen = new SpringCodegen ();
801+ codegen .setReactive (true );
802+ codegen .setLibrary ("spring-boot" );
803+ codegen .setUseSpringBoot3 (false );
804+ codegen .additionalProperties ().put (DOCUMENTATION_PROVIDER , "springfox" );
805+ codegen .additionalProperties ().put (INCLUDE_HTTP_REQUEST_CONTEXT , "false" );
806+
807+ final Map <String , File > files = generateFiles (codegen , "src/test/resources/3_0/petstore.yaml" );
808+ JavaFileAssert .assertThat (files .get ("UserApi.java" ))
809+ .assertMethod ("createUser" , "Mono<User>" );
810+
811+ JavaFileAssert .assertThat (files .get ("UserApi.java" ))
812+ .hasNoMethod ("createUser" , "Mono<User>" , "ServerWebExchange" );
813+
814+ JavaFileAssert .assertThat (files .get ("UserApi.java" ))
815+ .hasNoImports ("jakarta.servlet.http.HttpServletRequest" , "javax.servlet.http.HttpServletRequest" , "org.springframework.web.server.ServerWebExchange" );
816+ }
817+
818+ @ Test
819+ public void testSpringBoot3BlockingDefaultsToIncludeHttpRequestContextFalse () throws IOException {
820+ final SpringCodegen codegen = new SpringCodegen ();
821+ codegen .setReactive (false );
822+ codegen .setLibrary ("spring-boot" );
823+ codegen .setUseSpringBoot3 (true );
824+
825+ final Map <String , File > files = generateFiles (codegen , "src/test/resources/3_0/petstore.yaml" );
826+ JavaFileAssert .assertThat (files .get ("UserApi.java" ))
827+ .assertMethod ("createUser" , "User" );
828+
829+ JavaFileAssert .assertThat (files .get ("UserApi.java" ))
830+ .hasNoImports ("jakarta.servlet.http.HttpServletRequest" , "javax.servlet.http.HttpServletRequest" , "org.springframework.web.server.ServerWebExchange" );
831+
832+ JavaFileAssert .assertThat (files .get ("UserApi.java" ))
833+ .hasNoMethod ("createUser" , "User" , "HttpServletRequest" );
834+ }
835+
836+
837+ @ Test
838+ public void testSpringBoot3BlockingIncludeHttpRequestContextTrue () throws IOException {
839+ final SpringCodegen codegen = new SpringCodegen ();
840+ codegen .setReactive (false );
841+ codegen .setLibrary ("spring-boot" );
842+ codegen .setUseSpringBoot3 (true );
843+ codegen .additionalProperties ().put (INCLUDE_HTTP_REQUEST_CONTEXT , "true" );
844+
845+ final Map <String , File > files = generateFiles (codegen , "src/test/resources/3_0/petstore.yaml" );
846+ JavaFileAssert .assertThat (files .get ("UserApi.java" ))
847+ .hasNoMethod ("createUser" , "User" );
848+
849+ JavaFileAssert .assertThat (files .get ("UserApi.java" ))
850+ .hasImports ("jakarta.servlet.http.HttpServletRequest" )
851+ .hasNoImports ("javax.servlet.http.HttpServletRequest" , "org.springframework.web.server.ServerWebExchange" );
852+
853+ JavaFileAssert .assertThat (files .get ("UserApi.java" ))
854+ .assertMethod ("createUser" , "User" , "HttpServletRequest" )
855+ .assertParameter ("servletRequest" ).hasType ("HttpServletRequest" )
856+ .assertParameterAnnotations ()
857+ .containsWithNameAndAttributes ("Parameter" , ImmutableMap .of ("hidden" , "true" ))
858+ .doesNotContainWithName ("ApiIgnore" );
859+ }
860+
861+
862+ @ Test
863+ public void testSpringBootBlockingIncludeHttpRequestContextTrue () throws IOException {
864+ final SpringCodegen codegen = new SpringCodegen ();
865+ codegen .setReactive (false );
866+ codegen .setLibrary ("spring-boot" );
867+ codegen .setUseSpringBoot3 (false );
868+ codegen .additionalProperties ().put (DOCUMENTATION_PROVIDER , "springfox" );
869+ codegen .additionalProperties ().put (INCLUDE_HTTP_REQUEST_CONTEXT , "true" );
870+
871+ final Map <String , File > files = generateFiles (codegen , "src/test/resources/3_0/petstore.yaml" );
872+ JavaFileAssert .assertThat (files .get ("UserApi.java" ))
873+ .hasNoMethod ("createUser" , "User" );
874+
875+ JavaFileAssert .assertThat (files .get ("UserApi.java" ))
876+ .hasImports ("jakarta.servlet.http.HttpServletRequest" )
877+ .hasNoImports ("javax.servlet.http.HttpServletRequest" , "org.springframework.web.server.ServerWebExchange" );
878+
879+ JavaFileAssert .assertThat (files .get ("UserApi.java" ))
880+ .assertMethod ("createUser" , "User" , "HttpServletRequest" )
881+ .assertParameter ("servletRequest" ).hasType ("HttpServletRequest" )
882+ .assertParameterAnnotations ()
883+ .containsWithName ("ApiIgnore" )
884+ .doesNotContainWithName ("Parameter" );
885+ }
886+
887+
737888 @ Test
738889 public void testReactiveMultipartBoot () throws IOException {
739890 final SpringCodegen codegen = new SpringCodegen ();
0 commit comments