news 2026/5/1 8:01:11

若依自定义后端接口404踩坑记录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
若依自定义后端接口404踩坑记录

博主在后端自定义了接口:

@PostMapping("/upload") public AjaxResult upload(@RequestPart("file") MultipartFile file, @RequestParam("studentId") String studentId, @RequestParam("thesisTitle") String thesisTitle, @RequestParam("thesisKeywords") String thesisKeywords) { try { TbThesis thesis = new TbThesis(); thesis.setThesisTitle(thesisTitle); thesis.setThesisKeywords(thesisKeywords); thesis.setStudentId(studentId); String url = tbThesisService.uploadThesis(file, thesis); Map<String, String> data = new java.util.HashMap<>(); data.put("url", url); return AjaxResult.success("上传成功", data); } catch (Exception e) { return AjaxResult.error(e.getMessage()); } }

但是前端调用ajax请求却报错404,经过仔细排查,发现是因为在 RuoYi-Vue 的前端工程里,“裸” ajax(axios)404、跨域、认证失败、统一错误处理全都没有了。不经过vite转发不会到后端8080端口。

应当在api/system目录下注册js代码

import request from '@/utils/request' export function uploadThesis(data) { return request({ url: '/system/thesis/upload', method: 'post', data, headers: { 'Content-Type': 'multipart/form-data' } }) }

然后,前端页面直接调用封装方法:

const fd = new FormData() fd.append('file', file.value) fd.append('thesisTitle', form.thesisTitle) fd.append('thesisKeywords', form.thesisKeywords) fd.append('studentId', form.studentId) loading.value = true try { const { msg } = await uploadThesis(fd) // 2. 直接调用封装方法 ElMessage.success(msg || '上传成功') // 成功后重置 uploadRef.value.clearFiles() Object.assign(form, { thesisTitle: '', thesisKeywords: '', studentId: '' }) } catch (e) { ElMessage.error(e.msg || '上传失败') } finally { loading.value = false } }



版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 6:07:47

AI智能抠图工具:一键去除图片背景的精准解决方案

在电商设计、内容创作与视觉营销领域&#xff0c;高效处理图片背景是提升工作效率的关键环节。本网站基于深度学习算法与计算机视觉技术&#xff0c;提供自动化背景去除服务&#xff0c;支持复杂场景下的精准识别与边缘优化&#xff0c;助力用户快速获取透明背景或自定义背景的…

作者头像 李华
网站建设 2026/4/20 3:38:04

24、嵌入式开发中的二进制工具及调试技巧

嵌入式开发中的二进制工具及调试技巧 在嵌入式开发中,二进制工具(binutils)是工具链的关键组成部分。要构建编译器,首先得成功构建这些二进制工具。下面将介绍一些嵌入式开发者需要了解的实用工具。 1. 常用二进制工具介绍 1.1 readelf readelf 工具用于检查目标 ELF 二…

作者头像 李华
网站建设 2026/4/25 0:29:49

28、Linux 调试与移植全解析

Linux 调试与移植全解析 1. 多任务调试 在处理多线程执行时,开发者通常会遇到两种不同的调试场景。进程可以拥有自己独立的地址空间,也可以与其他执行线程共享地址空间(以及其他系统资源)。对于不共享公共地址空间的独立进程,必须使用单独的独立调试会话进行调试。我们可…

作者头像 李华
网站建设 2026/5/1 6:07:32

S速度曲线点动测试_PLC-Recoder录波仿真

一、前言 与西门子PLC通信可支持实体PLC和仿真PLC,其中高级仿真advanced可直接与recoder软件通信,但是plcsim普通仿真则需要使用netToplcsim软件桥接,可参考下文。本文使用plcsim advanced测试 二、PLC-recoder软件参数配置 1.配置PLC通信通道,可新增通道与所需PLC资源通…

作者头像 李华
网站建设 2026/5/1 6:52:40

一番赏小程序比较火热的功能都有哪些?

盲盒一番赏小程序的核心功能包括以下几点&#xff1a; 商品&#xff1a;展示盲盒和一番赏商品的照片、详情&#xff0c;价格信息 订单&#xff1a;支持用户直接下单购买&#xff0c;支持多种支付方式。 抽赏&#xff1a;用户下单支付后开出奖品。 积分系统&#xff1a;用户通过…

作者头像 李华