Swagger跨域访问

Posted 今天付出是为明天回报

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swagger跨域访问相关的知识,希望对你有一定的参考价值。

我们用springboot开发完后,需要前端vue用swagger跨域,默认是不能跨域的,所以需要我们后台设置跨域访问,将下面代码完整复制即可。   

在springboot项目中新建class :

CorsConfig.java

完整跨域代码如下:

@Configuration
public class CorsConfig extends WebMvcConfigurerAdapter {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
            .allowedOrigins("*")
            .allowCredentials(true)
            .allowedMethods("GET", "POST", "DELETE", "PUT")
            .maxAge(3600);
    }
    private CorsConfiguration buildConfig() {
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        List<String> list = new ArrayList<>();
        list.add("*");
        corsConfiguration.setAllowedOrigins(list);
    /*
    // 请求常用的三种配置,*代表允许所有,当时你也可以自定义属性(比如header只能带什么,只能是post方式等等)
    */
        corsConfiguration.addAllowedOrigin("*");
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedMethod("*");
        return corsConfiguration;
    }
    @Bean
    public CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", buildConfig());
        return new CorsFilter(source);
    }
}

  

 

以上是关于Swagger跨域访问的主要内容,如果未能解决你的问题,请参考以下文章

在使用 Swagger 开发的 NodeJS 上的 ExpressJS 框架中启用跨域资源共享 (CORS)

csharp 在Swashbuckle Swagger中,此片段允许按字母顺序显示操作。

稳定的静态swagger接口服务

springboot整合shiro框架详解

跨域的问题

使用Openresty时配置解决跨域问题