嗨,我正在尝试使用Swagger和我的jax-rs休息服务 . 我运行mvn build时没有看到生成的代码 . 尝试访问时获取404 .
http://localhost:9080/swagger-jaxrs/api/swagger.json或
这是代码 -
的pom.xml
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.3</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jaxrs</artifactId>
<version>1.5.19</version>
</dependency>
web.xml中
<servlet>
<servlet-name>DefaultJaxrsConfig</servlet-name>
<servlet-class>io.swagger.jaxrs.config.DefaultJaxrsConfig</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>/swagger-jaxrs/api</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
RestApplication.java
@ApplicationPath("services")
public class RestApplication extends Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> classes = new HashSet();
classes .add(DemoControllerV1_0.class);
classes.add(io.swagger.jaxrs.listing.ApiListingResource.class);
classes.add(io.swagger.jaxrs.listing.SwaggerSerializers.class);
return classes;}
在DemoControllerV1_0中我使用标准的swagger注释 -
@GET
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "User Information", response = User.class)
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK"),
@ApiResponse(code = 500, message = "Something wrong in Server")})
public Response getPerson(@QueryParam("name") String name) {
System.out.println("Name = " + name);
User user = new User();
user.setName("test");
user.setLast("rest");
return Response.ok(user, MediaType.APPLICATION_JSON).build();
}