vue请求后端方法及解决跨域问题

在不需登录的场景下,前端通过axios发送分类名请求后端视频数据,遇到报错。初步怀疑是axios问题,但实际上是后端缺少跨域配置。在后端Controller添加@CrossOrigin注解解决跨域问题。同时,若请求路径包含参数且无需token,需在SpringSecurity配置中放行相应路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天做项目时,有这样一个需求:从前端界面发送影视分类的分类名,从后端获取该分类下的全部视频信息并返回给前端。

鼠标点击按钮事件

在这里插入图片描述
先简单尝试获取全部视频,测试一把

编写前端发送请求的axios

在这里插入图片描述

后端的spring security 配置类和认证过滤器记得放行,因为我们不需要登录(游客身份)也能正常搜索查看影片,所以肯定是没有token的,故一律将请求路径放行

在这里插入图片描述

在这里插入图片描述

一切准备完毕,点击按钮后,控制台直接报错

在这里插入图片描述

在这里插入图片描述

后端一切正常,能获取到并打印数据

在这里插入图片描述

一开始找不出原因,以为是axios的问题,但几经查找资料后发现应该是跨域问题,但是前端axios直接请求的是路径没有经过代理,问题不大,所以问题应该出现在后端,

然后突然想起这个是新的后端项目,没有跨域,所以应该要在对应的Controller控制器加@CrossOrigin

在这里插入图片描述

在这里插入图片描述
需要补充的一点是,如果不使用token且请求路径带有参数(如restful风格时),则必须要把请求路径在springsecurity的配置类中 的public void configure(WebSecurity web) 方法中放行

请求播放ID时未做以上操作:

在这里插入图片描述
显示仍然需要token
在这里插入图片描述

在这里添加不通过token 的带参数的请求路径就好了
在这里插入图片描述

Armbian是一个基于Debian的轻量级Linux操作系统,适用于ARM架构的单板电脑。而阿里云盘是一种云存储服务。在Armbian上挂载阿里云盘来运行Jellyfin,可以将媒体文件存储在云盘上,并通过Jellyfin进行流媒体服务。 首先,需要在Armbian上安装文件系统挂载的工具和阿里云的SDK。可以使用命令行工具进行安装,例如apt-get。 然后,登录阿里云官网,创建一个新的云盘实例。将该云盘实例与Armbian上的设备关联,并获取云盘的挂载点和认证信息。 在Armbian上创建一个本地目录,作为挂载点。可以使用mkdir命令创建目录。 接下来,使用mount命令挂载云盘实例到创建的本地目录。在挂载命令中,需要填写云盘的挂载点、认证信息和其他参数。挂载成功后,可以使用df命令查看已挂载的云盘。 接下来,安装和配置Jellyfin。可以在Jellyfin的官方网站上下载适用于Armbian的安装包。安装Jellyfin后,打开Jellyfin的配置文件,将媒体文件夹设置为之前挂载的云盘目录。 最后,启动Jellyfin服务。可以使用systemctl命令启动Jellyfin,并通过浏览器访问Jellyfin的Web界面。在Jellyfin界面上,可以上传和管理媒体文件,并在其他设备上通过Jellyfin进行流媒体播放。 通过以上步骤,可以成功在Armbian上挂载阿里云盘,并利用Jellyfin进行流媒体服务。这样就可以方便地存储和管理媒体文件,并在多个设备上进行流媒体播放。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值