无法以编程方式配置带有嵌入式jetty的Swagger

Anu*_*uri 5 rest jax-rs embedded-jetty swagger

我一直在尝试使用招摇来记录我的jaxrs-resteasy服务.我想在嵌入式jetty服务器设置中以编程方式配置它.这是我的资源,服务器和应用程序类.我可以访问http://127.0.0.1:9091/rest/hello并验证我的休息服务是否正常工作..但是当我尝试访问时http://127.0.0.1:9091/rest/api-docs我无法使其工作,但是看到404找不到.有人能指出我在配置Swagger时可能出错的地方.

资源文件

@Api(value = "/", description = "Index")
@Path("/")
public class Index {

    @GET
    @ApiOperation(
                value = "call Index",
                response = Response.class,
                responseContainer = "Object"
            )
    @Produces("text/html")
    public Response  index() throws URISyntaxException { 
        File f = new File(System.getProperty("user.dir")+"/index.html");
        String mt = new MimetypesFileTypeMap().getContentType(f);
        return Response.ok(f, mt).build();   
    }

    @GET
    @Path("/hello")
    @ApiOperation(
                value = "hello Get",
                response = Response.class,
                responseContainer = "Object"
            )
    public Response  helloGet() {     
        return Response.status(200).entity("HTTP GET method called").build();
    }

}
Run Code Online (Sandbox Code Playgroud)

服务器

public class JettyServer {

    public static void main(String[] args) throws IOException {

        Server server = new Server(9091);
        final HandlerList handlers = new HandlerList();

        ServletHolder h = new ServletHolder(new HttpServletDispatcher());
        h.setInitParameter("javax.ws.rs.Application", "com.all.MyServices");

//      h.setInitOrder(1);

        ServletContextHandler restContextHandler = new ServletContextHandler(ServletContextHandler.SESSIONS);
        restContextHandler.setContextPath("/rest");
        restContextHandler.addServlet(h, "/*");

        handlers.addHandler(restContextHandler);

        server.setHandler(handlers);

        try {
            server.start();
            server.join();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

服务文件

public class MyServices extends Application  {

    private static Set<Index> services = new HashSet<>(); 

    public  MyServices() {     

        System.out.println( "Initializing Swagger BeanConfig" );
        BeanConfig beanConfig = new BeanConfig();
        beanConfig.setVersion("1.0");
        beanConfig.setResourcePackage( Index.class.getPackage().getName() );
        beanConfig.setBasePath( "http://localhost:9091/api" );
        beanConfig.setDescription( "My RESTful services" );
        beanConfig.setTitle( "My RESTful API" );
        beanConfig.setScan( true );

        services.add(new Index());
    }

    @SuppressWarnings({ "unchecked", "rawtypes" })
    @Override
    public  Set getSingletons() {
        return services;
    }  

    @SuppressWarnings("rawtypes")
    public  static Set getServices() {  
        return services;
    } 
}
Run Code Online (Sandbox Code Playgroud)