百度AMIS框架下的跨域问题(SpringBoot)

amis框架简述

amis框架是百度开源的一套低代码量的前端框架,全局通过对json数据进行配置,而使用框架提供的各种组件去完成页面搭建。其本身功能较为全面,但缺乏个性化内容,更多的用于对管理系统等页面的搭建。

amis 有两种使用方法:

  • JS SDK,可以用在任意页面中
  • React,可以用在 React 项目中

SDK 版本适合对前端或 React 不了解的开发者,它不依赖 npm 及 webpack,可以像 Vue/jQuery 那样外链代码就能使用。

问题:

​ 个人使用或者个人开发阶段通常使用sdk,免去React的环境搭建,但所面临的问题是amis框架在该情况下,会产生跨域请求,而浏览器则会拒接这个请求,使用该框架。必须要在后台对进行跨域请求配置

在这里插入图片描述
通过amis去请求后台,就会出现CORS错误,这就是跨域请求错误,而且后台不会有任何反应
在这里插入图片描述

但是直接通过地址栏访问接口,却可以被访问。

解决方法:

给springboot配置跨域请求

  1. 原则上应该是去配置SpringMVC,但是SpringBoot整合了SpringMVC,所以我们也可直接从SpringBoot中对其进行配置

  2. 在Springboot的配置包下,创建WebMvcConfiguration配置类,在其中写下面的配置

    private static final String[] ALLOWED_ORIGINS = new String[]{
        //这个地址就是同意跨域请求的地址,可以自己在浏览器的控制台看
            "http://localhost:8080/",
        //*号代表同意任何地址的请求
            "*",
        };
    

注:

  • WebMvcConfiguration配置类上一定要加@Configuration注解,不然没用
  • 配"*"是为了开发测试方便,正式上线场合,就不能这样,不然会破坏跨域的安全性功能
Logo

前往低代码交流专区

更多推荐