diff options
author | 2017-09-05 15:23:17 +0300 | |
---|---|---|
committer | 2017-09-05 15:23:17 +0300 | |
commit | e9f8da070823f8e7fbb74446cd331ff2d7324d9a (patch) | |
tree | b341db58615e19eccdd31435735c050cbae3e17c /juick-api/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java | |
parent | 8dae811e0ad78f15faa6431590a0a4ae66c7bc03 (diff) |
api: swagger and /swagger-ui.html
Diffstat (limited to 'juick-api/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java')
-rw-r--r-- | juick-api/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/juick-api/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java b/juick-api/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java index 8bae8e93..0b18a7c0 100644 --- a/juick-api/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java +++ b/juick-api/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java @@ -23,11 +23,20 @@ import com.juick.server.configuration.BaseWebConfiguration; import org.springframework.context.annotation.*; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; +import org.springframework.web.servlet.config.annotation.EnableWebMvc; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import org.springframework.web.socket.client.WebSocketConnectionManager; import org.springframework.web.socket.client.standard.StandardWebSocketClient; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.ApiInfo; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; import javax.inject.Inject; +import java.util.Collections; /** * Created by aalexeev on 11/12/16. @@ -35,10 +44,12 @@ import javax.inject.Inject; @Configuration @EnableScheduling @EnableAsync +@EnableWebMvc +@EnableSwagger2 @PropertySource("classpath:juick.conf") @ComponentScan(basePackages = "com.juick.api") @Import(BaseWebConfiguration.class) -public class ApiAppConfiguration extends WebMvcConfigurationSupport { +public class ApiAppConfiguration extends WebMvcConfigurerAdapter { @Inject TGBot tgBot; @@ -60,5 +71,22 @@ public class ApiAppConfiguration extends WebMvcConfigurationSupport { public ApiServer apiServer() { return new ApiServer(); } + @Bean + public Docket api() { + return new Docket(DocumentationType.SWAGGER_2) + .select() + .apis(RequestHandlerSelectors.any()) + .paths(PathSelectors.any()).build().apiInfo(new ApiInfo("Juick API", "Juick REST API Documentation", + "2.0", "https://juick.com/help/tos", null, + "AGPLv3", "https://www.gnu.org/licenses/agpl-3.0.html", Collections.emptyList())); + } + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + registry.addResourceHandler("/swagger-ui.html") + .addResourceLocations("classpath:/META-INF/resources/"); + + registry.addResourceHandler("/webjars/**") + .addResourceLocations("classpath:/META-INF/resources/webjars/"); + } } |