vue+springboot实现项目的CORS跨域请求

好的。我们来详细讲解一下vue和springboot结合实现CORS跨域请求的完整攻略。

什么是CORS

CORS是指跨域资源共享(Cross-Origin Resource Sharing)。是一个W3C标准,它允许浏览器进行跨域访问,从而使web应用可以使用其它域名下的资源。

为什么需要CORS

在开发前后端分离的web应用时,经常会有前端页面和后台服务在不同的域名下。而由于浏览器的同源策略,不同域名下的请求默认是不能相互访问的。这时就需要CORS技术来解决跨域问题。

实现步骤

以下将介绍基于vue和springboot结合的CORS跨域请求的具体步骤。

1. 设置vue代理

在vue.config.js文件中添加proxyTable选项来设置代理。

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://localhost:8080',
        changeOrigin: true,
        pathRewrite: {
          '^/api': '/api'
        }
      }
    }
  }
}

其中,/api是指代理的路径,target是指代理的目标地址,这里是后台服务的地址。

2. 后台添加CORS过滤器

在springboot中添加CORS过滤器,这里使用spring的CorsFilter来实现。

@Configuration
public class CorsFilterConfig {
    private CorsConfiguration buildConfig() {
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedOrigin("*"); // 允许任何域名使用
        corsConfiguration.addAllowedHeader("*"); // 允许任何头
        corsConfiguration.addAllowedMethod("*"); // 允许任何方法(post、get等)
        return corsConfiguration;
    }

    @Bean
    public CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/api/**", buildConfig()); // 对api路径下的请求应用CORS过滤器
        return new CorsFilter(source);
    }
}

3. 测试CORS跨域请求

可以尝试发送一个跨域请求到后台服务,查看接口返回是否正常。以下是两个可能的跨域请求测试示例:

示例1

axios.get('/api/test').then(res => {
  console.log(res.data);
})

其中,/api/test是后台提供的接口路径。

示例2

fetch('/api/test', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    name: 'user'
  })
}).then(res => res.json()).then(data => {
  console.log(data);
})

这里使用了fetch API来发送请求。

总结

以上是vue和springboot结合实现CORS跨域请求的完整攻略。在前端中,我们通过设置代理来实现跨域请求;在后端中,我们添加CORS过滤器来允许跨域请求。这样我们就能够在开发过程中自由地使用不同域名的资源了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue+springboot实现项目的CORS跨域请求 - Python技术站

(0)
上一篇 2023年5月17日
下一篇 2023年5月17日

相关文章

  • python获取redis memory使用情况场景分析

    当我们使用Redis作为缓存或存储时,了解其内存使用情况是很重要的。Python通过redis模块提供了获取Redis内存使用情况的方法。本攻略将会为大家介绍一些场景下如何获取Redis内存使用情况。 获取整个Redis实例的内存使用情况 要获取整个Redis实例的内存使用情况,可以使用Redis的info()方法。该方法返回Redis所有状态信息,包括实例…

    云计算 2023年5月18日
    00
  • 什么是云计算,它都应用在哪些方面? – 冬刻忆

    什么是云计算,它都应用在哪些方面?   什么是云计算呢?    其实云端(cloud)就代表了互联网(Internet),通过网络的计算能力,取代使用你原本安装在自己电脑上的软件,或者是取代原本你把资料存在自己硬盘的动作,你转而通过网络来进行各种工作,并存放档案资料在网络,也就是庞大的虚拟空间上。我们通过所使用的网络服务,把资料存放在网络上的服务器中,并借由…

    云计算 2023年4月13日
    00
  • IAAS云计算产品畅想-云主机产品内涵

    这里所涉及的主要还是狭义的云主机产品。 主要还是谈云主机产品中公有云产品与私有云产品相比赋予更多的含义: 产品广义理解:公有云主机的最大特点就是基础资源按需支付 从这一句话中可以体现出来两个含义: 产品的资源主题:基础资源 在云主机产品中涉及的就是传统服务器或者说计算资源的配套提供。 提供方式通过网络提供,引申出来网络资源需求。 由于当前软件发展现状,软件通…

    云计算 2023年4月13日
    00
  • 让 Serverless 更普惠,阿里云函数计算 FC 宣布全面降价,最大幅度达 37.5%

    11月5日,2022 杭州 · 云栖大会上,阿里云宣布函数计算 FC 开启全面降价,vCPU 单价降幅** 11%,其他的各个独立计费项最高降幅达 37.5%**。 本次云栖大会上,阿里云智能总裁张建锋表示,以云为核心的新型计算体系正在形成,软件研发范式正在发生新的变革,Serverless 是其中最重要的趋势之一,阿里云将坚定推进核心产品全面 Server…

    2023年4月10日
    00
  • 云计算原理与实践

    《云计算原理与实践》 基本信息 作者: 游小明 罗光春 丛书名: 云计算技术系列丛书 出版社:机械工业出版社 ISBN:9787111419624 上架时间:2013-8-8 出版日期:2013 年8月 开本:16开 页码:1 版次:1-1 所属分类:计算机 > 电子商务与计算机文化 > 综合 更多关于》》》《云计算原理与实践》 内容简介 计算机…

    2023年4月10日
    00
  • .net6 在中标麒麟下的安装和部署过程

    针对“.Net6在中标麒麟下的安装和部署过程”,以下是详细攻略: 安装麒麟操作系统 首先,我们需要安装麒麟操作系统。麒麟操作系统是一种开源的Linux发行版,由中国自主研发。现在已经有了7.0版本,它可以支持x86平台、arm平台,甚至是RISC-V平台。 安装.net6运行环境 安装完毕麒麟操作系统后,需要安装.net6运行环境。我们可以在dotnet官网…

    云计算 2023年5月17日
    00
  • asp.net 导出到CSV文件乱码的问题

    下面是详细的攻略: 问题描述 在将 asp.net 网站的数据导出到 CSV 文件时,可能会出现乱码的情况。这是因为 CSV 文件默认情况下使用的是 ANSI 编码,而 asp.net 网站使用的是 UTF-8 编码,所以在转换过程中出现了编码不一致的问题,导致数据显示乱码。 解决步骤 为了解决这个问题,我们需要将 asp.net 网站的数据编码转换为 AN…

    云计算 2023年5月17日
    00
  • 《伟大的计算原理》一云计算

    摘要: 本节书摘来华章计算机《伟大的计算原理》一书中的第2章 ,[美]彼得 J. 丹宁(Peter J. Denning) 克雷格 H. 马特尔(Craig H. Martell)著 罗英伟 高良才 张 伟 熊瑞勤 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。 本节书摘来华章计算机《伟大的计算原理》一书中的第2章 ,[美]彼得 J. 丹宁(Pe…

    2023年4月10日
    00
合作推广
合作推广
分享本页
返回顶部