我正在尝试使用Swagger Core JAX-RS 2.0项目为我现有的Web服务生成文档。我的项目已经设置好了,所以webservices在一个项目中,而使用webservices的servlet在另一个项目中。
我将swagger-jaxrs2的依赖项添加到两个项目中,并将以下内容添加到servlet项目中的web.xml中:
<servlet>
<!-- use OpenApi servlet to serve spec -->
<servlet-name>OpenApi</servlet-name>
<servlet-class>io.swagger.jaxrs2.integration.OpenApiServlet</servlet-class>
<init-param>
<param-name>openApi.configuration.resourcePackages</param-name>
<param-value>myorg.webservices.resources,myorg.webservices.resources.subpackage1,myorg.webservices.resources.subpackage2</param-value>
</init-param>
<!-- alternatively specify configuration file location <init-param> <param-name>openApi.configuration.location</param-name>
<param-value>/openapi-configuration.json</param-value> </init-param> -->
<!-- alternatively include a file openapi-configuration.json or openapi-configuration.yaml
in classpath -->
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>OpenApi</servlet-name>
<url-pattern>/openapi/*</url-pattern>
</servlet-mapping>
我可以运行servlet项目并且它可以工作,但是当我去/ openapi时,我得到的是:
{"openapi":"3.0.0"}
我希望能够看到它和一堆RESTful webservice文档存根。
我显然遗漏了一些明显的东西 - 大多数文件都是针对泽西岛的;我的项目不使用泽西岛或任何框架。有没有魔法注释,或者我指的是错误的类,还是?
虽然我们在讨论这个主题,但我是否需要明确引用子包,还是将它们递归到子包中?