springboot解决跨域问题

问题

在写好接口之后,前端调用出现跨域现象.虽然都是在本地搭建的,但是由于端口号不同出现跨域问题.同源策略是说协议名,域名,端口号都一致.


image.png

解决方法

1. 使用@CrossOrigin注解

将该注解放在类上或方法上都可以


image.png

效果


image.png
2. 使用WebMvcConfigure的addCorsMappings方法配置CorsInterceptor

创建配置类CorsConfig.java

package com.unik.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class CorsConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry){
        //设置允许跨域的路径
        registry.addMapping("/**")
                //设置允许跨域的请求域名
            .allowedOriginPatterns("*")
                //是否允许cookie
            .allowCredentials(true)
                //设置允许请求方式
            .allowedMethods("GET","POST","PUT","DELETE")
                //设置允许的header属性
            .allowedHeaders("*")
                //跨域允许时间
            .maxAge(3600);
    }
}

重启服务器
效果


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容