Mam swagger podłączony do mojej aplikacji wiosennego buta. Wiosenne uruchamianie pozwala na posiadanie plików właściwości dla każdego środowiska, które posiadasz. Czy istnieje sposób, aby wyłączyć oszustów w środowisku produkcyjnym?Jak wyłączyć SWAGGER-ui w produkcji
Odpowiedz
Ustaw swagger na oddzielną klasę konfiguracji i dodaj adnotację do niej z adnotacją @Profile
-> tak, aby była skanowana do kontekstu Spring tylko w niektórych profilach.
Przykład:
@Configuration
@EnableSwagger2
@Profile("dev")
public class SwaggerConfig {
// your swagger configuration
}
niż można określić profil aplikacja Wiosna Boot pracuje w wierszu poleceń poprzez: --spring.profiles.active=dev
albo poprzez plik konfiguracyjny: spring.profiles.active=dev
.
Read this section of Spring Boot docs for more info about @Profile
To moja klasa konfiguracja:
@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();
}
}
Gdziekolwiek muszę Swagger, dodaję profil swagger
do zmiennej środowiskowej SPRING_PROFILES_ACTIVE
To zasadniczo powiela [druga, znacznie starsza odpowiedź] (https://stackoverflow.com/a/37796782/1240557) (tj. "Profil użycia") – kryger
/swagger-ui.html nadal dostępne, ale nie ma żadnych metod. Czy istnieje sposób na zabronienie URL? – gstackoverflow
- 1. ASP.NET MVC, jak wyłączyć debugowanie tras/widoków w produkcji?
- 2. Jak uruchomić gevent w produkcji
- 3. najlepszy sposób, aby powiedzieć swaggerui, gdzie host jest
- 4. Debugowanie aplikacji w produkcji
- 5. Złap UIViewAlertForUnsatisfiableConstraints w produkcji
- 6. Jak wyłączyć stronę administratora solr
- 7. Jak sprawdzić, czy szyny są w produkcji?
- 8. Jak profilować Django na Gunicorn w produkcji
- 9. Jak zatrzymać proces produkcji selera
- 10. Xcode - warunkowy tryb rozwoju lub produkcji
- 11. Ktoś używający HyperDex w produkcji?
- 12. działająca konsola Rails w produkcji
- 13. Niemożliwe zobaczenie CKeditora w produkcji
- 14. Wyłączanie pakowania aktywów w produkcji, Rails 3.1?
- 15. Doker na Windows w produkcji
- 16. Wykonywanie zrzutów wątków w produkcji
- 17. Mongoose indeksowanie w kodzie produkcji
- 18. błędy Nodejs debugowania w produkcji
- 19. Running Django Seler w produkcji
- 20. Rejestrowanie produkcji w programie Flex
- 21. g ++ - używa flagi "-g" do produkcji produkcji dobry pomysł?
- 22. Go: Wyłączyć log.Logger?
- 23. Django Virtualenv premiery produkcji
- 24. Jak wyłączyć mod_deflate w apache2?
- 25. Jak wyłączyć CalendarView w DatePicker?
- 26. Jak wyłączyć keybinding w Tmux
- 27. Jak wyłączyć podgląd w definicji
- 28. Jak wyłączyć logowanie w Codeigniter?
- 29. Jak wyłączyć przycisk w React.js
- 30. Jak wyłączyć Combobox w Tkinter?
co zrobiliśmy to i wydaje się, że rozszerzenie -> swagger-ui.html nadal pojawia się, nawet jeśli nie widzisz odwagi api. Czy istnieje sposób na to, aby plik swagger-ui.html nie został nawet wyprodukowany? – user301693
@ user301693 Jeśli używasz Mavena, możesz załadować zależności swagger w określonym profilu Mavena, co powinno wystarczyć. – g00glen00b
@ g00glen00b i mają różne artefakty dla PROD niż dla innych środowisk? Chyba faceci QA i OPS nie byliby z tego bardzo zadowoleni. – luboskrnac