Swagger'ım kurulu ve uygulamanızda listelenen tüm denetleyiciler için çalışıyor. Bununla birlikte, Spring Security Logout Endpoint'i almasını istiyorum ve bunu işe almak için bir yol bulamıyorum. Aşağıdaki kod snippet'inden de görebileceğiniz gibi, bir kullanıcının oturumlarını geçersiz kılmak için bir logoutUrl belirtiyorum. Sınıf düzeyinde ek açıklama işaretlerini ve yöntem seviyesini denedim, ancak şans yok. Herhangi bir fikir?Spring'in HttpSecurity Logout uç noktasını almak için Swagger-UI'yi yapılandırın
@Override
public void configure(HttpSecurity http) throws Exception {
http.addFilter(someFilter());
http.headers().and().csrf().disable()
.authorizeRequests()
.antMatchers("endpoint",
"endpoint",
"endpoint",
"endpoint",
"endpoint",
"endpoint",
"endpoint").permitAll()
.anyRequest().authenticated()
.and()
.logout().logoutUrl("endpoint/logout").invalidateHttpSession(true).logoutSuccessHandler(logoutSuccessHandler);
}
My Swagger Hulasa yapılandırması aşağıdaki gibidir:
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
.apiInfo(new ApiInfo("API",
"Provides API's",
"1.0",
null,
"[email protected]",
null,
null))
.useDefaultResponseMessages(false)
.pathProvider(new RelativePathProvider(servletContext) {
@Override
protected String applicationPath() {
return super.applicationPath() + "/path";
}
@Override
protected String getDocumentationPath() {
return super.getDocumentationPath() + "/path";
}
});
}