dnet-applications/apps/dhp-broker-public-application/src/main/java/eu/dnetlib/broker/BrokerPublicApplication.java

51 lines
1.5 KiB
Java

package eu.dnetlib.broker;
import java.util.ArrayList;
import java.util.List;
import org.springdoc.core.GroupedOpenApi;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import eu.dnetlib.common.app.AbstractDnetApp;
import io.swagger.v3.oas.models.ExternalDocumentation;
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.tags.Tag;
@SpringBootApplication
public class BrokerPublicApplication extends AbstractDnetApp {
public static final String OA_PUBLIC_APIS = "Openaire Broker Public API";
public static void main(final String[] args) {
SpringApplication.run(BrokerPublicApplication.class, args);
}
@Bean
public GroupedOpenApi publicApi() {
return GroupedOpenApi.builder()
.group("Broker Public APIs")
.pathsToMatch("/")
.build();
}
@Override
protected void configSwagger(final OpenAPI openApi) {
final List<Tag> tags = new ArrayList<>();
tags.add(new Tag().name(OA_PUBLIC_APIS).description(OA_PUBLIC_APIS));
openApi.info(new Info().title("OpenAIRE Public Broker API")
.description("APIs documentation")
.version("1.1")
.license(new License().name("Apache 2.0").url("http://www.apache.org/licenses/LICENSE-2.0")))
.externalDocs(new ExternalDocumentation()
.description("SpringShop Wiki Documentation")
.url("https://springshop.wiki.github.org/docs"))
.tags(tags);
}
}