![JAR search and dependency download from the Maven repository](/logo.png)
io.mosip.authentication.common.service.config.SwaggerConfig Maven / Gradle / Ivy
package io.mosip.authentication.common.service.config;
import io.mosip.authentication.core.logger.IdaLogger;
import io.mosip.kernel.core.logger.spi.Logger;
import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import io.swagger.v3.oas.models.servers.Server;
import org.springdoc.core.GroupedOpenApi;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* To expose the documentation for entire API.
*
* @author Dinesh Karuppiah
*/
@Configuration(value = "ida_swagger_config")
public class SwaggerConfig {
private static final Logger logger = IdaLogger.getLogger(SwaggerConfig.class);
@Autowired
private OpenApiProperties openApiProperties;
@Bean
public OpenAPI openApi() {
OpenAPI api = new OpenAPI()
.components(new Components())
.info(new Info()
.title(openApiProperties.getInfo().getTitle())
.version(openApiProperties.getInfo().getVersion())
.description(openApiProperties.getInfo().getDescription())
.license(new License()
.name(openApiProperties.getInfo().getLicense().getName())
.url(openApiProperties.getInfo().getLicense().getUrl())));
openApiProperties.getService().getServers().forEach(server -> {
api.addServersItem(new Server().description(server.getDescription()).url(server.getUrl()));
});
logger.info("swagger open api bean is ready");
return api;
}
@Bean
public GroupedOpenApi groupedOpenApi() {
return GroupedOpenApi.builder().group(openApiProperties.getGroup().getName())
.pathsToMatch(openApiProperties.getGroup().getPaths().stream().toArray(String[]::new))
.build();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy