Ho swagger collegato alla mia applicazione di avvio a molla. Spring Boot ti permette di avere file di proprietà per ogni ambiente che hai. C'è un modo per disabilitare lo swagger per un ambiente di produzione?Come disattivare lo swagger-ui in produzione
risposta
Inserisci la tua configurazione di swagger in una classe di configurazione separata e annotala con l'annotazione @Profile
-> in modo che venga scansionata nel contesto di Spring solo in determinati profili.
Esempio:
@Configuration
@EnableSwagger2
@Profile("dev")
public class SwaggerConfig {
// your swagger configuration
}
È possibile che definire proprio profilo primavera Boot applicazione è in funzione in via riga di comando: --spring.profiles.active=dev
o tramite file di configurazione: spring.profiles.active=dev
.
Read this section of Spring Boot docs for more info about @Profile
Questa è la mia classe di configurazione:
@Configuration
@Profile("swagger")
@EnableSwagger2
public class SwaggerConfig {
@Value("${info.build.version}")
private String buildVersion;
@Bean
public Docket documentation() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(regex("/rest/.*"))
.build()
.pathMapping("/")
.apiInfo(metadata());
}
private ApiInfo metadata() {
return new ApiInfoBuilder()
.title("API documentation of our App")
.description("Use this documentation as a reference how to interact with app's API")
.version(buildVersion)
.contact(new Contact("Dev-Team", "https://dev-website", "[email protected]"))
.build();
}
}
Ovunque ho bisogno di Swagger, aggiungo il profilo swagger
alla variabile di ambiente SPRING_PROFILES_ACTIVE
Questo essenzialmente duplica [l'altra, risposta molto più vecchia] (https://stackoverflow.com/a/37796782/1240557) (cioè "usa profilo") – kryger
/swagger-ui.html ancora disponibile ma non ci sono metodi. C'è modo di vietare l'URL? – gstackoverflow
- 1. È possibile disattivare lo stderr in C++?
- 2. Disattivare completamente i registri da XCGLogger durante la produzione
- 3. Come posso disattivare lo scorrimento della cronologia in iTerm2
- 4. Il modo migliore per dire a swaggerui dove l'host è
- 5. Come faccio ad attivare lo scorrimento orizzontale e disattivare lo scorrimento verticale in UIWebView?
- 6. Come eseguire gevent in produzione
- 7. Come disattivare lo zoom nelle visualizzazioni Web di Windows 8
- 8. Come disattivare MediaPlayer in Android
- 9. Come disattivare E_INFO in pocketphinx?
- 10. Come disattivare mipmap in OpenGL
- 11. Come disattivare i breadcrumb in Eclipse
- 12. CouchDB in produzione
- 13. Come disattivare FullScreen in MPMoviePlayerViewController in iOS
- 14. Rails inizializzatore per lo sviluppo e la produzione
- 15. Come disattivare FuckAdBlock
- 16. Impossibile disattivare un'app di implementazione graduale Android dall'area di produzione del Play Store
- 17. Chiunque usi HyperDex in produzione?
- 18. Come disattivare il posizionamento relativo?
- 19. Bypassare o disattivare [Authorize (Roles = "")] durante lo sviluppo?
- 20. Come disattivare lo zoom su Ctrl + scorrere in Visual Studio 2010?
- 21. Come disattivare lo stato di completamento automatico per l'attività al check-in
- 22. Laravel 4.2 afferma che la mia applicazione è in produzione. Come lo spengo?
- 23. Come verificare lo sviluppo o la produzione nel file ERB in Rails?
- 24. Come disattivare la vista intestazione in ListView
- 25. come disattivare vc-git in GNU Emacs?
- 26. Come disattivare l'avviso 'zip' in bash?
- 27. Come disattivare il keydown ripetitivo in jQuery
- 28. Come disattivare Unicode in un progetto VC++?
- 29. Come disattivare l'output in uno script Bash?
- 30. Come posso disattivare ASSERT (x) in C++?
abbiamo fatto questo e sembra che il extension -> swagger-ui.html viene comunque visualizzato anche se le viscere delle API non vengono visualizzate. C'è un modo per far sì che lo swagger-ui.html non venga nemmeno prodotto? – user301693
@ user301693 Se stai usando Maven puoi caricare le dipendenze dello swagger all'interno di uno specifico profilo Maven, che dovrebbe fare il trucco credo. – g00glen00b
@ g00glen00b e hanno diversi artefatti per PROD rispetto ad altri ambienti? Immagino che i ragazzi di QA e OPS non sarebbero molto contenti di questo. – luboskrnac