如何启用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资源来解决我的问题
srcmainwebappdocs
我还补充说
<mvc:default-servlet-handler/>
给pom.xml
现在我可以访问下面的Swagger UI:
http://localhost:8080/myapp/docs/
链接地址: http://www.djcxy.com/p/82625.html