Swagger + jaxrs +嵌入式jetty +没有web.xml

时间:2018-05-02 16:14:27

标签: rest jax-rs swagger

我有嵌入式jetty服务器的maven项目。 我已经使用JAX-RS创建了apis,它们正常工作。现在我想为我的apis创建一个swagger文档。

从swagger开始,我添加了servlet配置,如下所述:

@WebServlet(name = "SwaggerConfig")
public class SwaggerServlet extends HttpServlet {
    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
        System.out.println("init SwaggerServlet");
        BeanConfig beanConfig = new BeanConfig();
        beanConfig.setVersion("1.0.0");
        beanConfig.setSchemes(new String[]{"http"});
        beanConfig.setHost("localhost:8082");
        beanConfig.setBasePath("/api");
        beanConfig.setResourcePackage("com.myCompany.myApisResourcePackage");
        beanConfig.setScan(true);
    }
}

另外,在主要方法中, 随着我的球衣配置,我添加了以下代码:

//swagger
ServletHolder swaggerServletHolder = new ServletHolder(SwaggerServlet.class);
swaggerServletHolder.setInitOrder(1);
swaggerServletHolder.setInitParameter("swagger.api.basepath", "http://localhost:8082");
context.addServlet(swaggerServletHolder, "/api/*");
//swagger end

所以,问题是,我无法找到swagger.json的创建位置。

在这种情况下,swagger扫描包作为服务器日志说,但swagger.json仍未创建。

注意:我目前没有添加swagger-ui,因为我认为创建swagger.json不是强制性的

1 个答案:

答案 0 :(得分:0)

我通过点击网址“localhost:8082 / swagger.json”得到了招摇的json。我使用了与我的问题中发布的相同的配置。