使用Swagger为jaxrs webservices生成文档

时间:2018-03-14 23:47:25

标签: java rest jax-rs swagger

我正在尝试使用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文档存根。

我显然遗漏了一些明显的东西 - 大多数文件都是针对泽西岛的;我的项目不使用泽西岛或任何框架。有没有魔法注释,或者我指的是错误的类,还是?

虽然我们在讨论这个主题,但我是否需要明确引用子包,还是将它们递归到子包中?

0 个答案:

没有答案