我将在Spring Boot(1.4.2v)中使用带有swagger-ui的springfox(2.6.1v)。
它的配置如下:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
.genericModelSubstitutes(ResponseEntity.class);
}
}
问题是,我的招摇是春天安全的后盾,我只需要管理员允许访问。
问题是什么应该是允许swagger-ui在我的应用程序中工作的匹配器集?
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("??? <<<what_should_be_here>>> ???") // what should be here?
.hasRole("TENANT_ADMIN");
}
}
答案 0 :(得分:2)
好的,首先我找到了解决方案here,所以按照以下几行:
.antMatchers("/admin/system/state/*", "/v2/api-docs", "/configuration/ui", "/swagger-resources", "/configuration/security", "/swagger-ui.html", "/webjars/**")
但是仍然没有用,因为我已经问了这个问题。但经过深入调查后发现,春狐不支持GSON。当你使用GSON作为&#34;到json&#34;转换器swagger-ui收到略有不同的JSON格式,导致问题...
当我们将转换器更改为Jackson并将上述路径添加到spring-config时,它可以毫无问题地工作。
我甚至在spring-fox github here上请求了新功能。