【发布时间】:2014-11-26 18:43:35
【问题描述】:
我按照步骤将 Swagger 添加到我已经在 TOMCAT 中构建的 Jersey REST API 项目中
- 添加:
swagger-annotations-1.3.10.jar swagger-core_2.10-1.3.10.jar swagger-jaxrs_2.10-1.3.10.jar swagger-jersey2-jaxrs_2.10-1.3.10.jar
-
在 web.xml 中添加
上下文类 org.springframework.web.context.support.AnnotationConfigWebApplicationContext 上下文配置位置 com.estartup.config.PersistenceConfig
<!-- Bootstrap the root application context as usual using ContextLoaderListener --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>jersey-servlet</servlet-name> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> <init-param> <param-name>javax.ws.rs.Application</param-name> <param-value>com.estartup.config.Application</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>jersey-servlet</servlet-name> <url-pattern>/api/*</url-pattern> </servlet-mapping> <servlet> <servlet-name>Jersey2Config</servlet-name> <servlet-class>com.wordnik.swagger.jersey.config.JerseyJaxrsConfig</servlet-class> <init-param> <param-name>api.version</param-name> <param-value>1.0.0</param-value> </init-param> <init-param> <param-name>swagger.api.basepath</param-name> <param-value>http://localhost:8080/api</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet>
应用类:
public class Application extends ResourceConfig {
@Inject
public Application(ServiceLocator serviceLocator) {
register(new ServiceBinder());
register(com.estartup.feature.JacksonFeature.class);
packages(true, "com.estartup", "com.wordnik.swagger.jaxrs.json","com.wordnik.swagger.jersey.listing");
}
}
但是,当我导航到
http://localhost:8080/api/api-docs我得到HTTP Status 404 - page not found.
:(。在日志中,我确实看到 swagger 是这样加载的: 怎么了?
15935 DEBUG [localhost-startStop-1] com.wordnik.swagger.jaxrs.config.WebXMLReader - set api.version to 1.0.0
15935 DEBUG [localhost-startStop-1] com.wordnik.swagger.jaxrs.config.WebXMLReader - set swagger.api.basepath to http://localhost:8080/api
【问题讨论】:
-
这是使用 Jetty 还是其他应用服务器部署的?
-
谢谢我正在使用tomcat
标签: java jersey swagger swagger-ui