![](/img/trans.png)
[英]How can I enable the swagger ui on a jhipster app in prod profile?
[英]How to enable Swagger UI? Tomcat, SpringMVC, REST
我的配置如下:
的pom.xml
<dependencies>
<!-- Swagger -->
<dependency>
<groupId>com.mangofactory</groupId>
<artifactId>swagger-springmvc</artifactId>
<version>0.9.1</version>
</dependency>
<!-- Swagger WebJar -->
<dependency>
<groupId>org.webjars</groupId>
<artifactId>swagger-ui</artifactId>
<version>2.0.24</version>
</dependency>
</dependencies>
根的context.xml
<mvc:annotation-driven/>
<beans:bean class="com.mangofactory.swagger.configuration.SpringSwaggerConfig" />
我將我的應用程序部署到Tomcat 8.0中。 我能夠在URI上看到Swagger JSON數據:
http://localhost:8080/myapp/api-docs
但我無法運行Swagger UI。 我還應該在項目中運行Swagger UI?
訣竅是你的swagger-ui maven依賴是一個webjar。 您需要配置從Web服務器到webjar的路徑。
我使用了當前的maven依賴:
<dependency>
<groupId>org.webjars</groupId>
<artifactId>swagger-ui</artifactId>
<version>2.1.3</version>
</dependency>
並使用注釋配置它:
@Configuration
@EnableWebMvc
public class RestConfiguration extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/swagger-ui/**").addResourceLocations("classpath:/META-INF/resources/webjars/swagger-ui/2.1.3/");
}
// [...]
}
在彈簧配置中使用xml也可以這樣做:
<mvc:resources mapping="/swagger-ui/**" location="classpath:/META-INF/resources/webjars/swagger-ui/2.1.3/"/>
另見: http : //www.jamesward.com/2012/04/30/webjars-in-spring-mvc
我通過添加swagger-ui資源解決了我的問題
src\main\webapp\docs
我還補充道
<mvc:default-servlet-handler/>
到pom.xml
現在我可以訪問下面的swagger UI:
http://localhost:8080/myapp/docs/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.