• SpringBoot 中通过 CORS 解决跨域问题


    同源策略

    源(origin)就是协议(http)、域名(localhost)和端口号(8080),同源是指协议、域名以及端口要相同。

    No 'Access-Control-Allow-Origin' header is present on the requested resource.

    后端使用CORS(跨域源资源共享)(CORS,Cross-origin resource sharing)实现跨域

    • 全局配置
    @Configuration
    public class WebMvcConfig implements WebMvcConfigurer {
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**")  //允许跨域的路径
            .allowedOrigins("*")  //允许的所有域名
            //.allowedOrigins("http://localhost:8081")  //允许的指定域名
            .allowedMethods("*")   //允许的方法
            .allowedHeaders("*");  //允许的请求头
        }
    }
    • 局部配置
      • 在方法上
    @RestController
    public class HelloController {
        @CrossOrigin(value = "http://localhost:8081")
        @GetMapping("/hello")
        public String hello() {
            return "hello";
        }
    
        @CrossOrigin(value = "http://localhost:8081")
        @PostMapping("/hello")
        public String hello2() {
            return "post hello";
        }
    }
      • 在Controller上
    @RestController
    @CrossOrigin(value = "http://localhost:8081")
    public class HelloController {
        @GetMapping("/hello")
        public String hello() {
            return "hello";
        }
    
        @PostMapping("/hello")
        public String hello2() {
            return "post hello";
        }
    }
  • 相关阅读:
    js获取数组,对象的真实长度
    http和https区别
    react调用setstate后发生了什么
    for in for of foreach及map的区别
    事件委托(事件代理)
    CSS隐藏元素的几种方法
    react一些扩展
    [软件构造]异常的捕获与自定义
    [软件构造]可能是笔记总结吧
    计算机系统大作业
  • 原文地址:https://www.cnblogs.com/zxg-6/p/12315301.html
Copyright © 2020-2023  润新知