Quello che ho fatto è utilizzare Grizzly
/Jersey
per ospitare swagger-ui
, che è contenuto statico.Maglia 2: render correttamente il contenuto statico di Swagger senza barra finale (/)
Ecco parte di build.gradle
:
compile 'org.glassfish.jersey.core:jersey-server:2.22.1'
compile 'org.glassfish.jersey.containers:jersey-container-grizzly2-http:2.22.1'
compile 'org.glassfish.jersey.containers:jersey-container-grizzly2-servlet:2.22.1'
Ecco come configurare contenuti statici con Grizzly
:
httpServer = GrizzlyWebContainerFactory.create(uri);
httpServer.getServerConfiguration().addHttpHandler(new StaticHttpHandler("swagger-ui"), "/swagger");
swagger-ui
è la cartella nella cartella principale del progetto.
Tutto va bene quando accedo http://localhost/swagger/
ma quando provo http://localhost/swagger
, dà solo una semplice pagina senza rendering, che sembra tutti i file css/js mancano:
mi chiedo qual è il il modo migliore per rendere l'url senza la barra finale (/) uguale a quella con la barra finale.
Aggiornamento: ho sollevato un biglietto per spavalderia-ui: https://github.com/swagger-api/swagger-ui/issues/1966 ma è detto che è un problema di configurazione con Grizzly
quindi un altro biglietto per Grizzly
: https://java.net/jira/browse/GRIZZLY-1823
Nessuna soluzione trovata oggi. Sto pensando di usare un altro server web.
qualsiasi aggiornamento su questo? – Charlie
verrà risolto in Grizzly 2.3.25 – alexey