1.先来说说跨域原理:

跨域原理简单来说就是发起跨域请求的时候,浏览器会对请求域返回的响应信息检查HTTP头,如果Access-Control-Allow-Origin包含了自身域,则允许访问,否则报错.

2.如何解决跨域问题

    2.1  使用@CrossOrigin注解

    ①该注解可以使用在方法和类上,使用在方法上表示只对该方法生效.

    @CrossOrigin(origins = {"http://localhost:8080", "null"})

    @GetMapping("/hello")

    public String say(){

      return "hello SpringBoot";

    }

    ②该注解使用在类上是,表示对该类声明所有接口都有效.

    ③如果需要添加全局配置,可以写一个配置类,继承WebMvcConfigurerAdapter类(不推荐,在SpringBoot2.0和Spring5.0以后,WebMvcConfigurerAdapter已被废弃);

    ④.可以继承 WebMvcConfigurationSupport ,重写 addCorsMappings 方法.  

    @Configuration
    public class CorsConfigration extends WebMvcConfigurationSupport {
     @Override
    protected void addCorsMappings(CorsRegistry registry) {
     registry.addMapping("/hello/**")//限定访问路径为/hello
     .allowedOrigins("http://www.baidu.com")//允许来自www.baidu.com的跨域访问
     .allowedMethods("POST","GET");//限定访问方法是POST或者GET
     }
    }

    ⑤.可以实现 WebMvcConfigurer 接口实现 addCorsMappings 方法.同上

附上IDEA重写快捷键ctrl+o.

最新文章

  1. 高灵活度,高适用性,高性能,轻量级的 ORM 实现
  2. 如何判断ScrollView滑动方形
  3. 网络错误定位案例 ICMP host *** unreachable - admin prohibited
  4. 004_URL 路由 - 定制路由系统 & 使用区域
  5. codeforces 86D : Powerful array
  6. Digit Counts
  7. ADO.Net 之 数据库连接池(一)
  8. 用jquery-easyui中的combotree实现树形结构的选择
  9. Python os常用模块
  10. Oracle EBS-SQL (SYS-23):用户权限查询.sql
  11. Java学习笔记——File类之文件管理和读写操作、下载图片
  12. android 自己定义开关(SwitchButton)
  13. Java泛型中extends和super的理解(转)
  14. Zabbix安装之路
  15. Android-满屏幕拖动的控件
  16. [Go] golang创建目录写文件判断文件
  17. Js 框架之Vue .JS学习记录 ① 与Vue 初识
  18. hive条件函数
  19. helm-chart3,函数和管道
  20. c#中//注释和///注释的区别

热门文章

  1. 转:强制关闭.net程序
  2. 记一次nginx强制将https请求重定向http
  3. HTTP 响应代码
  4. K-Means算法:图片压缩
  5. celery (二) task调用
  6. sql语句(已在Oracle中测试,之后有添加内容放在评论中)
  7. 在CentOS6.9 x86下编译libusb-1.0.22遇到的两个问题
  8. javascript正则表达式分组捕获理解
  9. CodeWarrior 10 添加/修改 头文件路径
  10. Nginx动静分离负载均衡