springboot webapi 支持跨域 CORS

1.创建corsConfig 配置文件

@Configuration
public class corsConfig {
    @Autowired
    varModel varModel_;
    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurer() {
            @Override
            //重写父类提供的跨域请求处理的接口
            public void addCorsMappings(CorsRegistry registry) {
                //添加映射路径
                registry.addMapping("/**")
                        .allowedHeaders("*")
                        .allowedMethods("*")
                        .allowedOrigins(varModel_.getCorsStrList());
            }
        };
    }
}//end

2.varModel中的跨域设置

3.前端页面ajax请求 页面域名,http://localhost:8001

$.ajax({
            type: "POST",
            url: "http://localhost:8000/a/b",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            data: JSON.stringify({
                "requestId": ""
            }),
            success: function (d) {
                console.log(d);
            },
            error: function () {
                //alert("系统错误");
            }
        });

4.参考链接

跨域设置:

https://spring.io/guides/gs/rest-service-cors/

http://www.spring4all.com/article/177

https://www.jianshu.com/p/55643abe7a18

支持CORS跨域浏览器列表:

https://caniuse.com/#feat=cors

原文地址:https://www.cnblogs.com/hcfan/p/10126146.html

时间: 2024-07-28 12:36:36

springboot webapi 支持跨域 CORS的相关文章

asp.net webapi支持跨域

1.Install-Package Microsoft.AspNet.WebApi.Cors 2. using System.Web.Http; namespace WebService {     public static class WebApiConfig     {         public static void Register(HttpConfiguration config)         {             config.EnableCors();       

WebAPI CORS 支持跨域POST

网上一般能找到的都是通过Microsoft.AspNet.WebApi.Cors来实现CORS,这是通过dll的方式,然后还有一种是通过config的方式 1.dll方式实现CORS 这种方式的好处就是控制精细,可以对同一个站点下的action分别赋予不同的CORS设置,具体怎么实现这里就不多说了,不了解的可以看http://www.cnblogs.com/artech/p/cors-4-asp-net-web-api-05.html 然后这里记录下实际可能会出现的问题 a) System.We

简析ASP.NET WebApi的跨域签名

之前的文章写了关于WebApi的跨域问题,当中的方法只是解决了简单请求的跨域问题而非简单请求的跨域问题则没有解决. 要弄清楚 CORS规范将哪些类型的跨域资源请求划分为简单请求的范畴,需要额外了解几个名称的含义,其中包括 "简单 (HTTP)方 法 (Simple Method) "."简单(请求)报头 (Simple Hader)" 和 " 自定义请求报头 (Author Request Header/ Custom Request Header)&qu

ServiceStack支持跨域提交

//ServiceStack对浏览器有一定的限制 //修改AppHost.cs文件 using Funq;using ServiceStack;using ServiceStackTest.ServiceInterface; namespace ServiceStackTest{ public class AppHost : AppHostBase { /// <summary> /// Default constructor. /// Base constructor requires a

如何让你的 Asp.Net Web Api 接口,拥抱支持跨域访问。

由于 web api 项目通常是被做成了一个独立站点,来提供数据,在做web api 项目的时候,不免前端会遇到跨域访问接口的问题. 刚开始没做任何处理,用jsonp的方式调用 web api 接口,总是报一个错误,如下: 如果你想用JSONP来获得跨域的数据,WebAPI本身是不支持javascript的callback的,它返回的JSON是这样的: {"YourSignature":"嫁人要嫁程序员,钱多话少死得早"} 然而,JSONP请求期望得到这样的JSON

@CrossOrigin springboot里面使用跨域

跨域是一个比较常见的功能了,看看springboot的注解实现 @Target({ ElementType.METHOD, ElementType.TYPE }) @Retention(RetentionPolicy.RUNTIME) @Documentedpublic @interface CrossOrigin { String[] DEFAULT_ORIGINS = { "*" }; String[] DEFAULT_ALLOWED_HEADERS = { "*&quo

asp.net webapi 解决跨域问题

之前解决过asp.net webapi的跨域问题,但是过了一段时间后居然又忘了是怎么配置的了,所以干脆还是先把它记录下来吧. 首先,打开vs自带的NuGet包管理工具,搜索cors,选择并向程序中安装Microsoft.AspNet.Cors,安装成功后,项目引用下拉中会出现System.Web.Cors程序集和System.Web.Http.Cors.如图: 然后,打开项目根目录下的App_Start文件夹,会看到WebApiConfig.cs类,在该类的Register方法里面配置以下代码

让Apache 和nginx支持跨域訪问

1,怎样让Apache支持跨域訪问呢? 步骤: 改动httpd.conf,windows中相应的文件夹是:C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf 把LoadModule headers_module modules/mod_headers.so 前面的凝视删除 改动 改为: 即: <Directory /> AllowOverride none Require all granted Header set Access-Control-Al

让Apache 和nginx支持跨域访问

1,如何让Apache支持跨域访问呢? 步骤: 修改httpd.conf,windows中对应的目录是:C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf 把LoadModule headers_module modules/mod_headers.so 前面的注释删除 修改 改为: 即: <Directory /> AllowOverride none Require all granted Header set Access-Control-All