Java 当操作未使用@ApiOperation注释时,忽略JAX-RS@的招摇过市

Java 当操作未使用@ApiOperation注释时,忽略JAX-RS@的招摇过市,java,rest,jax-rs,swagger,Java,Rest,Jax Rs,Swagger,我目前正在将Swagger(版本1.5.7中的Swagger jaxrs工件)集成到我们现有的JAX-RSREST应用程序中。在添加Swagger之后,我将@Api注释添加到我们的接口类中,并且已经得到了一个看起来不错的文档 不幸的是,在我使用@ApiOperation对这些方法进行注释之前,Swagger不尊重我的API方法上的@products注释: 不将text/plain列为返回的媒体类型: @GET @Path("/overallStatus") @Produces(MediaType

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

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

不将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() {
}

有没有一种方法可以在不向所有媒体添加@ApiOperation的情况下将媒体类型包含在招摇过市输出中?由于所需信息已经存在,我不明白为什么需要它。

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

只有用@ApiOperation注释的方法才会被扫描并添加到招摇过市定义中


您可以在这里找到更多信息:

这似乎不是真的,因为这些方法出现在我的招摇定义中-只有“products”部分丢失,文档不同步。然而,查看用于扫描注释的代码,它似乎期望
@ApiOperation
出现:很遗憾,但这是真的-我真的不明白为什么有必要这样做。我将创建一个功能请求来更改此行为。如果其他人感兴趣: