The goal is to server Swagger UI via http://localhost:8080/swagger-ui/
-
Add Maven/Gradle dependency
org.webjars:swagger-ui
– https://search.maven.org/artifact/org.webjars/swagger-ui/3.26.1/jar -
Configure the Jetty
DefaultServlet
:
package at.tbbm.manual_input;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.DefaultServlet;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
public class Foo {
public static void main(String[] args) throws Exception {
ServletContextHandler handler = new ServletContextHandler();
// add other servlets
ServletHolder swagger = new ServletHolder("swagger-ui", DefaultServlet.class);
swagger.setInitParameter("resourceBase", Foo.class.getClassLoader().getResource("META-INF/resources/webjars/swagger-ui/3.26.1/").toString());
swagger.setInitParameter("pathInfoOnly", Boolean.TRUE.toString());
handler.addServlet(swagger, "/swagger-ui/*");
Server server = new Server(8080);
server.setHandler(handler);
server.start();
}
}