我目前正在将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?由于所需的信息已经存在,我不明白为什么我需要它。
答案 0 :(得分:2)
您必须将@ApiOperation
添加到JAX-RS端点,因为根据Swagger Wiki页面,将忽略没有@ApiOperation
注释的方法:
仅扫描使用@ApiOperation注释的方法并添加Swagger定义。
您可以在此处找到更多信息:https://github.com/swagger-api/swagger-core/wiki/Annotations-1.5.X#apioperation