package com.redhat.do328.adoptApup.animalservice;
|
|
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
|
import org.springframework.web.client.RestTemplate;
|
import springfox.documentation.builders.ApiInfoBuilder;
|
import springfox.documentation.builders.PathSelectors;
|
import springfox.documentation.builders.RequestHandlerSelectors;
|
import springfox.documentation.service.ApiInfo;
|
import springfox.documentation.service.Contact;
|
import springfox.documentation.spi.DocumentationType;
|
import springfox.documentation.spring.web.plugins.Docket;
|
import springfox.documentation.swagger2.annotations.EnableSwagger2;
|
|
@SpringBootApplication(scanBasePackages = "com.redhat.do328.adoptApup.animalservice")
|
@EnableSwagger2
|
@EnableWebSecurity
|
public class AnimalServiceApplication extends WebSecurityConfigurerAdapter {
|
|
public static void main(String[] args) {
|
SpringApplication.run(AnimalServiceApplication.class, args);
|
}
|
|
|
@Override
|
protected void configure(HttpSecurity httpSecurity) throws Exception {
|
httpSecurity.authorizeRequests().anyRequest().authenticated();
|
}
|
|
@Bean
|
public RestTemplate restTemplate() {
|
return new RestTemplate();
|
}
|
|
@Bean
|
public Docket api() {
|
return new Docket(DocumentationType.SWAGGER_2)
|
.select()
|
.apis(RequestHandlerSelectors
|
.basePackage("com.redhat.do328.adoptApup.animalservice"))
|
.paths(PathSelectors.any())
|
.build().apiInfo(apiEndPointsInfo());
|
}
|
|
|
private ApiInfo apiEndPointsInfo() {
|
return new ApiInfoBuilder().title("GLO REST API")
|
.description("GLO API documentation")
|
.contact(new Contact("Stephen Hays", "https://www.spathesystems.com/", "stephen.hays@spathesystems.com"))
|
.license("Apache 2.0")
|
.licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html")
|
.version("1.0.0")
|
.build();
|
}
|
}
|