zoukankan      html  css  js  c++  java
  • Angular2发送HTTP请求SpringBoot后台跨域问题解决

    Angular通过http发送post请求至SpringBoot的Controller,由于同源策略的保护,遇到跨域问题:

    • 源(origin)就是协议(http)、域名(localhost)和端口号(8080),若地址里面的协议、域名和端口号均相同则属于同源

    解决方法:SpringBoot增加跨域请求支持

    一:全局配置(推荐)

    package com.example.example1.Default;
    
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.CorsRegistry;
    import org.springframework.web.servlet.config.annotation.EnableWebMvc;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
    
    /**
     * Created by BLIT on 2019/3/7.
     */
    @Configuration
    @EnableWebMvc
    public class CorsConfig implements WebMvcConfigurer {
    
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            //设置允许跨域的路径
            registry.addMapping("/**")
                    //设置允许跨域请求的域名
                    .allowedOrigins("*")  //也可以指定域名 .allowedOrigins("http://192.168.0.0:8080","http://192.168.0.1:8081")
                    //是否允许证书 不再默认开启
                    .allowCredentials(true)
                    //设置允许的方法
                    .allowedMethods("*")
                    //跨域允许时间
                    .maxAge(3600);
        }
    
    }

    二:局部配置

    添加注解:@CrossOrigin(origins = {"http://localhost:4200","null"})
    可以注解在单个方法上,也可以注解在整个controller上
  • 相关阅读:
    [LeetCode]Power of N
    uboot学习之uboot启动流程简述
    [LeetCode]Palindrome Pairs
    [LeetCode]Gray Code
    快速排序 partition函数的所有版本比较
    Linked List Cycle && Linked List Cycle II
    Simplify Path leetcode
    Pow(x, n) leetcode
    Swap Nodes in Pairs leetcode
    Multiply Strings leetcode
  • 原文地址:https://www.cnblogs.com/zxg-6/p/10488267.html
Copyright © 2011-2022 走看看