2424import java .util .List ;
2525import java .util .Map ;
2626import java .util .Map .Entry ;
27- import java .util .Optional ;
2827import java .util .Set ;
2928
3029import javax .annotation .PostConstruct ;
3736import org .springdoc .core .SwaggerUiConfigProperties ;
3837import org .springdoc .webmvc .api .OpenApiResource ;
3938
39+ import org .springframework .beans .factory .ObjectProvider ;
4040import org .springframework .beans .factory .annotation .Value ;
4141import org .springframework .http .ResponseEntity ;
4242import org .springframework .stereotype .Controller ;
@@ -73,27 +73,27 @@ public class SwaggerWelcomeWebMvc extends SwaggerWelcomeCommon {
7373 /**
7474 * The Request mapping handler mapping.
7575 */
76- private final Optional <RequestMappingInfoHandlerMapping > requestMappingInfoHandlerMappingOptional ;
76+ private final ObjectProvider <RequestMappingInfoHandlerMapping > requestMappingInfoHandlerMappingObjectProvider ;
7777
7878 /**
7979 * Instantiates a new Swagger welcome.
8080 *
8181 * @param swaggerUiConfig the swagger ui config
8282 * @param springDocConfigProperties the spring doc config properties
8383 * @param swaggerUiConfigParameters the swagger ui config parameters
84- * @param requestMappingInfoHandlerMappingOptional the request mapping info handler mapping optional
84+ * @param requestMappingInfoHandlerMappingObjectProvider the request mapping info handler mapping object provider
8585 */
86- public SwaggerWelcomeWebMvc (SwaggerUiConfigProperties swaggerUiConfig , SpringDocConfigProperties springDocConfigProperties ,SwaggerUiConfigParameters swaggerUiConfigParameters , Optional <RequestMappingInfoHandlerMapping > requestMappingInfoHandlerMappingOptional ) {
86+ public SwaggerWelcomeWebMvc (SwaggerUiConfigProperties swaggerUiConfig , SpringDocConfigProperties springDocConfigProperties ,SwaggerUiConfigParameters swaggerUiConfigParameters , ObjectProvider <RequestMappingInfoHandlerMapping > requestMappingInfoHandlerMappingObjectProvider ) {
8787 super (swaggerUiConfig , springDocConfigProperties , swaggerUiConfigParameters );
88- this .requestMappingInfoHandlerMappingOptional = requestMappingInfoHandlerMappingOptional ;
88+ this .requestMappingInfoHandlerMappingObjectProvider = requestMappingInfoHandlerMappingObjectProvider ;
8989 }
9090
9191 /**
9292 * Init.
9393 */
9494 @ PostConstruct
9595 private void init () {
96- requestMappingInfoHandlerMappingOptional . ifPresent (requestMappingHandlerMapping -> {
96+ requestMappingInfoHandlerMappingObjectProvider . orderedStream (). forEach (requestMappingHandlerMapping -> {
9797 Map <RequestMappingInfo , HandlerMethod > map = requestMappingHandlerMapping .getHandlerMethods ();
9898 List <Entry <RequestMappingInfo , HandlerMethod >> entries = new ArrayList <>(map .entrySet ());
9999 for (Map .Entry <RequestMappingInfo , HandlerMethod > entry : entries ) {
@@ -168,4 +168,4 @@ protected String buildApiDocUrl() {
168168 protected String buildSwaggerConfigUrl () {
169169 return apiDocsUrl + DEFAULT_PATH_SEPARATOR + SWAGGGER_CONFIG_FILE ;
170170 }
171- }
171+ }
0 commit comments