博客
关于我
SpringBoot解决跨域问题
阅读量:378 次
发布时间:2019-03-05

本文共 1721 字,大约阅读时间需要 5 分钟。

方法一:在控制器上使用@CrossOrigin注解

在控制器(@Controller)类或特定方法上使用@CrossOrigin注解,可以实现局部跨域的支持。

@RestController@CrossOrigin(allowCredentials="true")public class CorsTestController {    @RequestMapping("/test")    public String preUser(){    System.out.println("test");    return "test";}}

这里的allowCredentials="true"属性用于允许跨域请求携带cookie信息,当需要维护会话时需要开启该属性。其他属性可参考注解文档进行调整。

方法二:使用Web Config实现全局跨域配置

通过配置全局的跨域设置,可以实现对整个应用的跨域支持。

@Configurationpublic class CORSWebMvcConfiguration extends WebMvcConfigurerAdapter {    @Override    public void addCorsMappings(CorsRegistry registry) {      registry.addMapping("*")        .allowedOrigins("*")      .exposedHeaders("token")      .allowedMethods("GET", "HEAD", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "TRACE");}}

这种方式适合需要对整个应用进行统一跨域配置的情况,设置简单且灵活。

方法三:使用过滤器实现跨域支持

通过自定义过滤器实现跨域支持,可以具备更高的灵活性和定制性。

package com.example.pahms.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.cors.CorsConfiguration;import org.springframework.web.cors.UrlBasedCorsConfigurationSource;import org.springframework.web.filter.CorsFilter;@Configurationpublic class GlobalCorsConfig {    @Bean    public CorsFilter corsFilter() {        CorsConfiguration config = new CorsConfiguration();        config.addAllowedOrigin("*");        config.setAllowCredentials(true);        config.addAllowedMethod("*");        config.addAllowedHeader("*");        config.addExposedHeader("token");        UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();        configSource.registerCorsConfiguration("/**", config);        return new CorsFilter(configSource);    }}

这种方式适合需要对特定路径或资源进行跨域配置时,能够提供更细粒度的控制。

转载地址:http://ctmg.baihongyu.com/

你可能感兴趣的文章
poj 3485 区间选点
查看>>
poj 3518 Prime Gap
查看>>
poj 3539 Elevator——同余类bfs
查看>>
Qt笔记——官方文档全局定义(三)Macros宏
查看>>
poj 3628 Bookshelf 2
查看>>
Qt笔记——官方文档全局定义(一)Types数据类型
查看>>
POJ 3670 DP LIS?
查看>>
POJ 3683 Priest John's Busiest Day (算竞进阶习题)
查看>>
POJ 3988 Selecting courses
查看>>
POJ 4020 NEERC John's inversion 贪心+归并求逆序对
查看>>
poj 4044 Score Sequence(暴力)
查看>>
POJ 基础数据结构
查看>>
POJ 题目3020 Antenna Placement(二分图)
查看>>
Poj(1797) Dijkstra对松弛条件的变形
查看>>
SpringBoot为什么不需要xml配置文件?
查看>>
POJ--2391--Ombrophobic Bovines【分割点+Floyd+Dinic优化+二分法答案】最大网络流量
查看>>
Qt笔记——SQLite初探QSqlDatabase QSqlQuery
查看>>
POJ-1163-The Triangle
查看>>
POJ-Fence Repair 哈夫曼树
查看>>
poj1061 - 同余方程,二元一次不定方程
查看>>