Spring Boot 跨域访问

如何在 Spring Boot 中配置跨域访问呢?
Spring Boot 提供了对 CORS 的支持,您可以实现WebMvcConfigurer 接口,重写addCorsMappings 方法来添加规则允许跨域访问:

允许所有域名都能够跨域访问

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
 * @ProjectName: springboot-blog
 * @Package: com.jiangfeixiang.springbootblog.config
 * @ClassName: CORSConfig
 * @Author: jiangfeixiang
 * @email: 1016767658@qq.com
 * @Description: 跨域配置
 * @Date: 2019/5/13/0013 14:45
 */
@Configuration
public class CORSConfig implements WebMvcConfigurer {
    /**
     * 跨域
     * @param registry
     */
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        // 允许所有跨域访问
        registry.addMapping("/**");
    }
}

更为精细的控制:

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/get/**")
                .allowedOrigins("http://www.aaa.com")
                .allowedMethods("POST", "GET");
    }

通过上面的配置,只允许来自 [www.aaa.com]的跨域访问,并且限定只能对 /get 下的所有接口进行跨域访问,同时只能访问 POST 和 GET 方法。

原文地址:https://www.cnblogs.com/smfx1314/p/10857506.html