哪里可以获得Swagger的Bootstrap servlet?

时间:2015-11-13 13:58:53

标签: java servlets swagger

我正在关注此documentation,其中给出了以下示例:

<servlet>
    <servlet-name>SwaggerBootstrap</servlet-name>
    <servlet-class>io.swagger.api.util.Bootstrap</servlet-class>
    <load-on-startup>2</load-on-startup>
</servlet>

但是,我找不到io.swagger.api.util.Bootstrap班的位置。

我在Swagger GitHub存储库中看不到这个,但找不到任何Maven模块。

我在哪里找到这个?

1 个答案:

答案 0 :(得分:4)

io.swagger.api.util.Bootstrap只是示例servlet 。您必须在应用程序中创建一个类似于create a BeanConfig的servlet并设置Swagger。

servlet类名(Bootstrap)和包(io.swagger.api.util)仅是示例。为类提供所需的名称,并将其放在所需的包中。

来自documentation

  

使用Servlet

     

示例servlet将是:

     
package io.swagger.api.util;

import javax.servlet.ServletConfig; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet;

public class Bootstrap extends HttpServlet {

    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);

        BeanConfig beanConfig = new BeanConfig();
        beanConfig.setVersion("1.0.2");
        beanConfig.setSchemes(new String[]{"http"});
        beanConfig.setHost("localhost:8002");
        beanConfig.setBasePath("/api");
        beanConfig.setResourcePackage("io.swagger.resources");
        beanConfig.setScan(true);
    } 
} 
     

将以下代码段添加到web.xml将确保Swagger的初始化:

     
<servlet>
    <servlet-name>SwaggerBootstrap</servlet-name>
    <servlet-class>io.swagger.api.util.Bootstrap</servlet-class>
    <load-on-startup>2</load-on-startup>
</servlet> 
     

此servlet不需要URL映射,因为它仅用于初始化应用程序。

     

您已完成本指南!您现在应该可以在应用程序的上下文根处/swagger.json/swagger.yaml访问Swagger定义。