我欲同风起_
2021-05-24 11:56
采纳率: 33.3%
浏览 145
已采纳

说是解决后端跨域?@CrossOrigin加在Controller上是什么场景使用啊???

 那为啥我不加这个注解,,我内网穿透之后。把当前接口地址填写给阿里云短信服务的回调url,也能被阿里云那边访问到啊。。有大神解答一下么。。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • CSDN专家-sinjack 2021-05-24 12:00
    已采纳

    跨域是指协议,ip,端口不相同的情况下。

    点赞 评论
  • CSDN专家-张老师 2021-05-24 12:31

    @CrossOrigin加在Controller本身是解决跨域问题的,你去了也能访问接口,服务器访问服务器不存在跨域,当然可以访问

    点赞 1 评论
  • 宾灬 2021-05-25 11:58

    先理解什么是跨域吧。 http协议中没有跨域这个概念。 通过http客户端(不管是浏览器还是java中的httpclient)调用http接口不存在跨域一说,都可以直接调用。 什么情况才是跨域? 在浏览器中执行js脚本,通过ajax直接调用后端的http接口时,如果当前js脚本所处的网站和后端接口的网站不是同一个,这个时候浏览器就判定是跨域了,浏览器会先发一个option请求到这个接口,询问一下这个接口是否允许跨域(后端是把允不允许跨域的信息放在响应头中的)。如果允许则再次请求这个接口,如果不允许则请求失败。 

    springmvc中可以统一设置跨域。

    @SpringBootConfiguration
    public class WebMvcConfig implements WebMvcConfigurer {
    
        //跨域设置
        @Override
        public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**")
                        .allowedOrigins("*")
                        .allowedMethods("POST", "GET")
                        .maxAge(3600)
                        .allowCredentials(true);
        }
    }
    点赞 1 评论
  • 有问必答小助手 2021-05-26 18:09

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 评论

相关推荐 更多相似问题