51 lines
1.5 KiB
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);
|
|
}
|
|
|
|
}
|