美文网首页
SpringBoot 2 前后端分离支持跨域

SpringBoot 2 前后端分离支持跨域

作者: shen33 | 来源:发表于2018-10-11 09:44 被阅读69次

    大部分SpringBoot 项目都是采用前后端分离的方式,这样一来,就会碰到跨域资源共享的问题。

    1、注解实现

    在Spring Boot 2中,提供了注解的方式来对CORS跨域访问进行支持。

    1.1 在方法上注解

    可以将@CrossOrigin注解在方法上。这样该方法可以被跨域访问。

    @CrossOrigin
        @GetMapping(value = "/cros")
        public String cros() {
            return "cros";
        }
    

    1.2 在Controller上注解

    也可以对整个Controller上注解。这样整个Controller下的所有方法都支持跨域访问。

    @RestController
    @CrossOrigin
    public class CrosController {
    
    }
    

    2、全局配置

    在Spring Boot 2中,通过复写WebMvcConfigurer中的addCorsMapping方法,可以达到全局配置的目标。

    @Configuration
    public class CorsConfiguration implements WebMvcConfigurer {
        @Override
        public void addCorsMappings(CorsRegistry corsRegistry) {
            // 允许跨域访问资源定义: /api/ 所有资源
            corsRegistry.addMapping("/api/**")
                    // 只允许本地的9000端口访问
                    .allowedOrigins("http://localhost:9000", "http://127.0.0.1:9000")
                    // 允许发送Cookie
                    .allowCredentials(true)
                    // 允许所有方法
                    .allowedMethods("GET", "POST", "PUT", "DELETE", "HEAD");
        }
    }
    

    相关文章

      网友评论

          本文标题:SpringBoot 2 前后端分离支持跨域

          本文链接:https://www.haomeiwen.com/subject/yfbvaftx.html