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