我有一个带有Swagger注释的Java资源类的Dropwizard应用程序 . 我也在创建programatic REST resources,当然,它不会以生成的Swagger JSON结束 . 是否可以通过Java Swagger API以编程方式添加操作,以便它们最终生成的JSON以及带注释的资源?
我尝试使用 DefaultJaxrsApiReader.appendOperation
但它没有效果 .
我正在使用 com.wordnik:swagger-jaxrs_2.10:1.3.12
EDIT
我最后只编写了一个Servlet过滤器来更新Swagger JSON响应 . 让@ fehguy的建议以某种方式运作会很棒 . 我认为 swagger-jaxrs_2.10:1.3.12
不足以支持那些POJO .
1 回答
从swagger-core-1.5.1-M1开始,你可以构建一个swagger POJO,它只需要你的web应用程序返回 . 这意味着,您可以以编程方式创建Swagger对象,并将其作为JSON从Web服务提供 .
有关如何构建swagger pojo的示例,您可以look at the source或building one的示例(测试) .
您还可以在应用程序中改变生成的swagger对象 . 这意味着您可以在运行时动态生成/修改swagger . swagger-codegen项目中有一个示例,其中在线代码生成器(swagger-generator)将通过SPI检测代码生成逻辑中启用的语言,并使用以下选项相应地更新swagger规范:
https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-generator/src/main/java/com/wordnik/swagger/generator/DynamicSwaggerConfig.java