CORS全局跨域设置
【摘要】 方法一使用注解对接口进行跨域设置@CrossOrigin(origins = "*", maxAge = 3600)@RestController@RequestMapping("/test")public class TestController { @GetMapping("get") public String get() { // ... } }...
方法一
使用注解对接口进行跨域设置
@CrossOrigin(origins = "*", maxAge = 3600)
@RestController
@RequestMapping("/test")
public class TestController {
@GetMapping("get")
public String get() {
// ...
}
}
方法二
直接实现实现WebMvcConfigurer
@Configuration
public class CorsConfig implements WebMvcConfigurer {
/**
* 前端response中的自定义header信息默认同一域中可见
* 在crossdomain跨域情况下需要在服务器端增加Access-Control-Expose-Headers的支持
* 例如在springboot中需要使用addExposedHeader添加指定返回头:
* @return
*/
private CorsConfiguration buildConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedOrigin("*");//允许跨域的域名,可以用*表示允许任何域名使用
corsConfiguration.addAllowedHeader("*");//允许任何请求头
corsConfiguration.addAllowedMethod("*");//允许任何方法(post、get等)
corsConfiguration.addExposedHeader("Authorization");
return corsConfiguration;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig());
return new CorsFilter(source);
}
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
// .allowCredentials(true)
.allowedMethods("GET", "POST", "DELETE", "PUT")
.maxAge(3600);
}
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)