当操作未使用@ApiOperation注释时,Swagger忽略JAX-RS @Produces

时间:2016-03-02 12:15:37

标签: java rest jax-rs swagger

我目前正在将Swagger(版本1.5.7中的swagger-jaxrs工件)集成到我们现有的JAX-RS REST应用程序中。添加Swagger后,我将@Api注释添加到我们的接口类中,并且已经获得了一个看起来不坏的文档。

不幸的是,在我使用@ApiOperation注释这些方法之前,Swagger不尊重我的API方法的@Produces注释:

不会将text / plain列为返回的媒体类型:

@GET
@Path("/overallStatus")
@Produces(MediaType.TEXT_PLAIN)
public String getOverallStatus() {
}

列出它:

@GET
@Path("/overallStatus")
@Produces(MediaType.TEXT_PLAIN)
@ApiOperation(value = "Get the overall system status")
public String getOverallStatus() {
}

有没有办法让Swagger输出中的媒体类型而不向所有人添加@ApiOperation?由于所需的信息已经存在,我不明白为什么我需要它。

1 个答案:

答案 0 :(得分:2)

您必须将@ApiOperation添加到JAX-RS端点,因为根据Swagger Wiki页面,将忽略没有@ApiOperation注释的方法:

  

仅扫描使用@ApiOperation注释的方法并添加Swagger定义。

您可以在此处找到更多信息:https://github.com/swagger-api/swagger-core/wiki/Annotations-1.5.X#apioperation