aboutsummaryrefslogtreecommitdiff
path: root/juick-api/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java
diff options
context:
space:
mode:
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.java32
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/");
+ }
}