博客
关于我
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/

你可能感兴趣的文章
oracle 行转列
查看>>
Oracle 表
查看>>
oracle 课堂笔记
查看>>
Oracle 返回结果集的 存储过程
查看>>
Oracle 递归
查看>>
Oracle 递归函数与拼接
查看>>
oracle 逻辑优化,提升高度,综合SQL上下文进行逻辑优化
查看>>
oracle 闪回关闭,关闭闪回即disable flashback的操作步骤
查看>>
oracle 限制用户并行,insert /*parallel */ 到不同用户,并行起不来的问题
查看>>
oracle--用户,权限,角色的管理
查看>>
Oracle-定时任务-JOB
查看>>
oracle.dataaccess 连接池,asp.net使用Oracle.DataAccess.dll连接Oracle
查看>>
oracle00205报错,Oracle控制文件损坏报错场景
查看>>
Oracle10g EM乱码之快速解决
查看>>
Oracle10g下载地址--多平台下的32位和64位
查看>>
Oracle10g安装了11g的ODAC后,PL/SQL连接提示TNS:无法解析指定的连接标识符
查看>>
oracle11g dataguard物理备库搭建(关闭主库cp数据文件到备库)
查看>>
Oracle11G基本操作
查看>>
Oracle11g服务详细介绍及哪些服务是必须开启的?
查看>>
Oracle11g静默安装dbca,netca报错处理--直接跟换操作系统
查看>>