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

55 lines
2.0 KiB
Java
Raw Normal View History

2020-09-04 14:33:19 +02:00
package eu.dnetlib.broker;
2020-07-02 08:55:42 +02:00
2022-08-19 11:20:13 +02:00
import java.util.ArrayList;
import java.util.List;
import org.springdoc.core.GroupedOpenApi;
2020-07-02 08:55:42 +02:00
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
2022-08-19 11:20:13 +02:00
import org.springframework.context.annotation.Bean;
2020-07-02 08:55:42 +02:00
2021-01-27 12:17:38 +01:00
import eu.dnetlib.common.app.AbstractDnetApp;
2022-08-19 11:20:13 +02:00
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;
2021-01-27 12:17:38 +01:00
2020-07-02 08:55:42 +02:00
@SpringBootApplication
2021-01-27 12:17:38 +01:00
public class LiteratureBrokerServiceApplication extends AbstractDnetApp {
public static final String TAG_EVENTS = "Events";
public static final String TAG_SUBSCRIPTIONS = "Subscriptions";
public static final String TAG_NOTIFICATIONS = "Notifications";
public static final String TAG_TOPIC_TYPES = "Topic Types";
public static final String TAG_OPENAIRE = "OpenAIRE";
public static final String TAG_MATCHING = "Subscription-Event Matching";
2020-07-02 08:55:42 +02:00
public static void main(final String[] args) {
SpringApplication.run(LiteratureBrokerServiceApplication.class, args);
}
2021-01-27 12:17:38 +01:00
2022-08-19 11:20:13 +02:00
@Bean
public GroupedOpenApi publicApi() {
return GroupedOpenApi.builder()
.group("Broker APIs")
.pathsToMatch("/api/**")
.build();
}
2021-01-27 12:17:38 +01:00
@Override
2022-08-19 11:20:13 +02:00
protected void configSwagger(final OpenAPI openApi) {
final List<Tag> tags = new ArrayList<>();
tags.add(new Tag().name(TAG_EVENTS).description("Events management"));
tags.add(new Tag().name(TAG_SUBSCRIPTIONS).description("Subscriptions management"));
tags.add(new Tag().name(TAG_NOTIFICATIONS).description("Notifications management"));
tags.add(new Tag().name(TAG_TOPIC_TYPES).description("Topic types management"));
tags.add(new Tag().name(TAG_OPENAIRE).description("OpenAIRE use case"));
2021-01-27 12:17:38 +01:00
2022-08-19 11:20:13 +02:00
openApi.info(new Info().title("Literature Broker Service")
.description("APIs documentation")
.version("1.1")
.license(new License().name("Apache 2.0").url("http://www.apache.org/licenses/LICENSE-2.0")))
.tags(tags);
2021-01-27 12:17:38 +01:00
}
2020-07-02 08:55:42 +02:00
}