spring boot Access-Control-Allow-Origin 解决跨域

1.使用无参数注解

@CrossOrigin
@CrossOrigin
@PostMapping(value ="/public/login")
@ResponseBody
public Response publicLogin(String phone, String pass) {

    return new Response();
}

2.使用有参数注解

@CrossOrigin(origins = "*",maxAge = 3600)//跨域
@CrossOrigin(origins = "*",maxAge = 3600)//跨域
@PostMapping(value ="/public/login")
@ResponseBody
public Response publicLogin(String phone, String pass) {

    return new Response();
}

3.继承WebMvcConfigurer

@Configuration
public class WebConfigurer implements WebMvcConfigurer {
    
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
                .maxAge(3600)
                .allowCredentials(true);
    }
}
还有使用过滤器的方法

失效的解决办法: 刚开始使用的时候,总是第一次可以,再访问就失效了,我想可能是第二次访问携带了cookie,因为有博客说明,如果携带cookie,就会失效,解决办法是加上allowCredentials="true"

@CrossOrigin(allowCredentials="true",maxAge = 3600)

参考:https://blog.csdn.net/shuoshuo132/article/details/83146668

 

 

 

如果浏览器返回状态码是415,可能是不正确的请求导致无法得到预期的响应,方法有错误,返回的数据错误的问题.

参考

https://blog.csdn.net/taiyangnimeide/article/details/78305131

 

也可能是

@RequestMapping(method = RequestMethod.POST)

没有加method = RequestMethod.POST的问题

参考

https://blog.csdn.net/cacheaads/article/details/100041281

 

 

 

 

参考https://yq.aliyun.com/articles/689064?spm=a2c4e.11153940.0.0.267a30fd27CR65

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值