Rest 昂首阔步+;jaxrs+;嵌入式码头&x2B;没有web.xml

Rest 昂首阔步+;jaxrs+;嵌入式码头&x2B;没有web.xml,rest,jax-rs,swagger,Rest,Jax Rs,Swagger,我有一个带有嵌入式jetty服务器的maven项目。 我已经使用JAX-RS创建了API,它们工作正常。现在我想为我的API创建swagger文档 从swagger开始,我添加了servlet配置,如下所述: @WebServlet(name = "SwaggerConfig") public class SwaggerServlet extends HttpServlet { @Override public void init(ServletConfig config) th

我有一个带有嵌入式jetty服务器的maven项目。 我已经使用JAX-RS创建了API,它们工作正常。现在我想为我的API创建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不是强制性的,我通过点击url“localhost:8082/swagger.json”获得了swagger json。我使用的配置与问题中发布的配置相同。

您需要配置JAX-RS(实现)servlet,并向JAX-RS应用程序注册api资源。api资源是提供JSON的资源。寻找如何使用Jetty设置Jersey的示例,然后向Jersey注册api资源(应该在大多数招摇过市入门指南中)。