背景:
swagger可以说是前后端分离时代前后端开发人员交流的一个重要工具,关于swagger我就不做说明了,这里说一下我遇到的问题。swagger虽然方便但是随着服务的增多,前端的同学在切换不同服务的时候会频繁输地址,不太友好。
想法:
能不能单独拉个页面,把swagger都放在一起,前端同学只需要点按钮切换就行例如:
但是你会发现一个问题swagger默认添加安全标头的响应,所以点user服务的swagger是不会嵌入带ifrom中来
解决:
其实很简单,只需要在security中开启就好
@EnableResourceServer
@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
@Resource
public TokenStore tokenStore;
@Resource
CustomAccessDeniedHandler customAccessDeniedHandler;
@Override
public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
resources.authenticationEntryPoint(new AuthExceptionEntryPoint())
.accessDeniedHandler(customAccessDeniedHandler);
}
@Override
public void configure(HttpSecurity http) throws Exception {
http.csrf().disable()
.authorizeRequests()
.anyRequest().permitAll()
.and()
.headers().frameOptions().disable()
;
}
}
效果:
完美达成目的