news 2026/6/10 7:53:39

若依自定义后端接口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/6/8 6:39:57

文献查询:高效获取学术资源的方法与技巧探讨

① WisPaper&#xff08;文献聚类 术语辅助&#xff09; 官网&#xff1a;https://www.wispaper.ai 帮助快速理解陌生领域的核心概念和研究主题。 ② Elicit 自动列出最相关论文和方法&#xff0c;为跨学科快速扫文献提供便利。 ③ Explainpaper 逐段解释论文内容&#xff0c…

作者头像 李华
网站建设 2026/6/10 10:32:38

22、嵌入式开发工具与调试指南

嵌入式开发工具与调试指南 1. 嵌入式开发环境概述 嵌入式交叉开发环境的诸多特性极大地提升了开发效率,其中大部分特性体现在工具和实用程序方面。一个配置得当的开发主机对嵌入式开发者而言至关重要。用于交叉开发的工具链必须正确配置,以匹配主机系统的目标 Linux 环境。开…

作者头像 李华
网站建设 2026/6/10 16:32:24

31、实时Linux内核补丁与调试指南

实时Linux内核补丁与调试指南 1. 实时内核补丁概述 支持硬实时功能并不包含在主线 kernel.org 源代码树中。若要启用硬实时功能,必须应用一个补丁。实时内核补丁是多项旨在降低 Linux 内核延迟的计划的累积成果。该补丁有众多贡献者,目前由 Ingo Molnar 维护,你可以在 htt…

作者头像 李华
网站建设 2026/6/9 22:22:08

新手练 C++ HTTP 服务实操:从 “拆请求头” 到 “发 HTML 响应”

作为C网络编程新手&#xff0c;我曾对着B站的《68.用C实现http服务》视频学习&#xff0c;视频里老师快速串了HTTP协议格式、TCP socket编程和服务端代码实现&#xff0c;我抄完socket(AF_INET, SOCK_STREAM, 0)的代码&#xff0c;转头就把bind函数的参数顺序搞反&#xff1b;跟…

作者头像 李华
网站建设 2026/6/10 16:16:40

三星 One UI 8 停止支持 三星Dex后的替代指南

重要说明&#xff1a;官方 Dex for PC 已在 One UI 7 停止支持&#xff0c;但 One UI 8 重新引入了 PC 连接功能&#xff0c;只是不再使用官方 DeX 应用&#xff0c;而是通过以下方式实现&#xff1a;方法一&#xff1a;使用 scrcpy&#xff08;推荐&#xff0c;适用于所有支持…

作者头像 李华