Rest 昂首阔步+;jaxrs+;嵌入式码头&x2B;没有web.xml
我有一个带有嵌入式jetty服务器的maven项目。 我已经使用JAX-RS创建了API,它们工作正常。现在我想为我的API创建swagger文档 从swagger开始,我添加了servlet配置,如下所述: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
@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资源(应该在大多数招摇过市入门指南中)。