【发布时间】:2018-04-10 09:37:40
【问题描述】:
pom.xml
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jersey2-jaxrs</artifactId>
<version>1.5.7</version>
<exclusions>
<exclusion>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
</exclusion>
</exclusions>
</dependency>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>io.swagger.jaxrs.listing,
rs
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/webapi/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Jersey2Config</servlet-name>
<servlet-class>io.swagger.jersey.config.JerseyJaxrsConfig</servlet-class>
<init-param>
<param-name>api.version</param-name>
<param-value>1.0</param-value>
</init-param>
<init-param>
<param-name>swagger.api.title</param-name>
<param-value>Swagger APIzz</param-value>
</init-param>
<init-param>
<param-name>swagger.api.basepath</param-name>
<param-value>http://localhost:8080/SwaggerExample/webapi</param-value>
</init-param>
<init-param>
<param-name>swagger.pretty.print</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>swagger.scan</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
</web-app>
SwaggerExample 是上下文根
PeopleRestService.java 存在于 rs 包中
@Path( "/people" )
@Api( value = "/", description = "Manage people" )
public class PeopleRestService {
private static PeopleService peopleService;
static{
peopleService = new PeopleService();
}
@Produces( { MediaType.APPLICATION_JSON } )
@GET
@ApiOperation( value = "List all people", notes = "List all people using paging", response = Person.class, responseContainer = "List")
public Collection< Person > getPeople( @ApiParam( value = "Page to fetch", required = true ) @QueryParam( "page") @DefaultValue( "1" ) final int page ) {
System.out.println("inside service........");
return peopleService.getPeople( page, 100 );
}
}
上面的代码可以通过webservice 获取数据,但是在访问 swagger.json 时,它给出了 404
http://localhost:8080/SwaggerExample/webapi/people:工作正常
http://localhost:8080/SwaggerExample/webapi/swagger.json : 正在给 404
【问题讨论】:
标签: java maven jersey swagger tomcat8