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(); } }