自用:在使用SpringBoot做學生信息管理系統時遇到的問題

1、在做完查詢測試時,一直報出404找不到錯誤,原因是沒有為各個層的實現類添加注解
2、改完之后發現測試沒有數據,是因為我寫的返回值類型為空,應該返回一個List< Student >
3、我沒有想到要寫Result實體類,因為不理解它存在的意義:

它是一種常見的用于封裝接口響應結果的實體類,能夠統一響應格式:定義code(響應碼)、msg(響應信息)和data(返回數據)三個屬性;便于前端處理。
不寫這個類是可行的,比如直接返回業務數據本身,或者返回簡單的字符串等。但這樣會導致接口響應格式不統一,前端處理邏輯復雜,不利于項目的長期維護和迭代。

package com.example.stusystem.pojo;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result {private Integer code;private String msg;private Object data;public static Result success(){return new Result(1,"success",null);}public static Result success(Object data){return new Result(1,"success",data);}public static Result error(String msg){return new Result(0,msg,null);}
}

service層和dao層返回List,controller層把List裝進success參數中返回。
4、在寫前端時methods寫成了method
5、axios.get(’ ')里面是單引號
6、循環里插值表達式是兩個花括號

<tr v-for="Student in Students":key="Student.id"><td>{{Student.id}}</td><td>{{Student.name}}</td><td>{{Student.sex}}</td><td>{{Student.age}}</td>
</tr>

7、先寫后端,用postman測試后端接口沒問題后去寫前端,不管其他層返回什么,控制層總返回一個相應結果Result。
8、
在這里插入圖片描述
9、在data中添加newStu的屬性

data: {newStu: {name: "",age: null, //初始化為null或0等合適的值sex: "", //1、普通屬性添加address: {//2、對象嵌套添加province: "",city: "",district: ""},hobbies: [] //3、數組屬性添加,初始化為空數組,之后可以通過 this.newStu.hobbies.push('閱讀') 等方式往數組里添加元素。},Students: []
}

10、刪除或者按照id查找一條數據時,注意兩點:
路徑變量要加花括號、方法參數前面要加注解。

@DeleteMapping("/dept/{id}")
@Override
public Result delOneController(@PathVariable Integer id) {//把路徑變量綁定到方法參數上,可以將路徑變量動態獲取的值傳給方法的參數。deptServiceImpl.delOneService(id);return Result.success();
}

11、這個按鈕也要被< td >包起來,不然他不在表格里面

<td><button @click="deleteOne">刪除</button>
</td>

并且!!!里面要傳id不然點刪除按鈕沒反應啊,傳的是當前循環的Student的id

<button @click="deleteOne(Student.id)">刪除</button>

12、在做刪除的前端時,要用反引號,并且使用${id}

deleteDept(id){if(confirm("確認刪除該條記錄嗎?"){axios.delete(`http://localhost:8080/dept/${id}`).then(()=>this.loadDepts()//重新加載)}
}

13、在更新時當然要先寫獲取一條數據的接口方法,要不然你怎么改,所以也更容易理解查詢一條返回Student對象,查詢所有列表返回List< Student >。
14、更新是最麻煩的,在更新之前需要寫一個查詢一條信息的后端接口,思路如下:

先通過get獲取原來的數據,設置新值創建新的對象,然后通過put方法,把新對象作為參數傳進去,實現更新。

15、拼寫錯誤!!!
Vue中是methods,不是method,寫錯了會導致沒反應
response和data以及update這些都是常拼錯的

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/76790.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/76790.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/76790.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SQLite + Redis = Redka

Redka 是一個基于 SQLite 實現的 Redis 替代產品&#xff0c;實現了 Redis 的核心功能&#xff0c;并且完全兼容 Redis API。它可以用于輕量級緩存、嵌入式系統、快速原型開發以及需要事務 ACID 特性的鍵值操作等場景。 功能特性 Redka 的主要特點包括&#xff1a; 使用 SQLi…

202529 | RocketMQ 簡介 + 安裝 + 集群搭建 + 消費模式 + 消費者組

RocketMQ簡介 RocketMQ 簡介 Apache RocketMQ 是一款開源的 分布式消息中間件&#xff08;Message Queue, MQ&#xff09;&#xff0c;由阿里巴巴團隊研發并捐贈給 Apache 基金會&#xff0c;現已成為頂級項目。它專為 高吞吐、低延遲、高可靠 的分布式場景設計&#xff0c;廣…

Go語言--語法基礎4--基本數據類型--整數類型

整型是所有編程語言里最基礎的數據類型。 Go 語言支持如下所示的這些整型類型。 需要注意的是&#xff0c; int 和 int32 在 Go 語言里被認為是兩種不同的類型&#xff0c;編譯器也不會幫你自動做類型轉換&#xff0c; 比如以下的例子會有編譯錯誤&#xff1a; var value2 in…

競拍商城:電商創新的博弈場與未來趨勢

競拍商城&#xff1a;電商創新的博弈場與未來趨勢 在傳統電商趨于同質化的今天&#xff0c;競拍商城憑借其獨特的交易機制和用戶激勵模式&#xff0c;成為電商領域的新寵。通過結合拍賣的博弈屬性與電商的便捷性&#xff0c;競拍商城不僅重塑了消費體驗&#xff0c;更催生了全…

Linux : 多線程互斥

目錄 一 前言 二 線程互斥 三 Mutex互斥量 1. 定義一個鎖&#xff08;造鎖&#xff09; 2. 初始化鎖 3. 上鎖 4. 解鎖 5. 摧毀鎖 四 鎖的使用 五 鎖的宏初始化 六 鎖的原理 1.如何看待鎖&#xff1f; 2. 如何理解加鎖和解鎖的本質 七 c封裝互斥鎖 八 可重入…

論文閱讀筆記——Reactive Diffusion Policy

RDP 論文 通過 AR 提供實時觸覺/力反饋&#xff1b;慢速擴散策略&#xff0c;用于預測低頻潛在空間中的高層動作分塊&#xff1b;快速非對稱分詞器實現閉環反饋控制。 ACT、 π 0 \pi_0 π0? 采取了動作分塊&#xff0c;在動作分塊執行期間處于開環狀態&#xff0c;無法及時響…

swagger 注釋說明

一、接口注釋核心字段 在 Go 的路由處理函數&#xff08;Handler&#xff09;上方添加注釋&#xff0c;支持以下常用注解&#xff1a; 注解名稱用途說明示例格式Summary接口簡要描述Summary 創建用戶Description接口詳細說明Description 通過用戶名和郵箱創建新用戶Tags接口分…

STM32 HAL庫 OLED驅動實現

一、概述 1.1 OLED 顯示屏簡介 OLED&#xff08;Organic Light - Emitting Diode&#xff09;即有機發光二極管&#xff0c;與傳統的 LCD 顯示屏相比&#xff0c;OLED 具有自發光、視角廣、響應速度快、對比度高、功耗低等優點。在嵌入式系統中&#xff0c;OLED 顯示屏常被用…

Web開發-JavaEE應用動態接口代理原生反序列化危險Invoke重寫方法利用鏈

知識點&#xff1a; 1、安全開發-JavaEE-動態代理&序列化&反序列化 2、安全開發-JavaEE-readObject&toString方法 一、演示案例-WEB開發-JavaEE-動態代理 動態代理 代理模式Java當中最常用的設計模式之一。其特征是代理類與委托類有同樣的接口&#xff0c;代理類…

K8s是常用命令和解釋

K8s高頻命令 獲取資源信息&#xff0c;如獲取 Pod、Service、Deployment等資源狀態信息 kubectl get創建資源如創建Pod、Service、Deployment等資源 kubectl create刪除資源&#xff0c;如刪除Pod、Service、Deployment等資源 kubectl delete 應用配置文件&#xff0c;如引用D…

【模態分解】EMD-經驗模態分解

算法配置頁面&#xff0c;也可以一鍵導出結果數據 報表自定義繪制 獲取和下載【PHM學習軟件PHM源碼】的方式 獲取方式&#xff1a;Docshttps://jcn362s9p4t8.feishu.cn/wiki/A0NXwPxY3ie1cGkOy08cru6vnvc

TDengine 語言連接器(Go)

簡介 driver-go 是 TDengine 的官方 Go 語言連接器&#xff0c;實現了 Go 語言 database/sql 包的接口。Go 開發人員可以通過它開發存取 TDengine 集群數據的應用軟件。 Go 版本兼容性 支持 Go 1.14 及以上版本。 支持的平臺 原生連接支持的平臺和 TDengine 客戶端驅動支持…

鏈接世界:計算機網絡的核心與前沿

計算機網絡引言 在數字化時代&#xff0c;計算機網絡已經成為我們日常生活和工作中不可或缺的基礎設施。從簡單的局域網&#xff08;LAN&#xff09;到全球互聯網&#xff0c;計算機網絡將數以億計的設備連接在一起&#xff0c;推動了信息交換、資源共享以及全球化的進程。 什…

AI agents系列之全面介紹

隨著大型語言模型(LLMs)的出現,人工智能(AI)取得了巨大的飛躍。這些強大的系統徹底改變了自然語言處理,但當它們與代理能力結合時,才真正釋放出潛力——能夠自主地推理、規劃和行動。這就是LLM代理大顯身手的地方,它們代表了我們與AI交互以及利用AI的方式的范式轉變。 …

如何使用AI輔助開發CSS3 - 通義靈碼功能全解析

一、引言 CSS3 作為最新的 CSS 標準&#xff0c;引入了眾多新特性&#xff0c;如彈性布局、網格布局等&#xff0c;極大地豐富了網頁樣式的設計能力。然而&#xff0c;CSS3 的樣式規則繁多&#xff0c;記憶所有規則對于開發者來說幾乎是不可能的任務。在實際開發中&#xff0c…

復刻系列-星穹鐵道 3.2 版本先行展示頁

復刻星穹鐵道 3.2 版本先行展示頁 0. 視頻 手搓&#xff5e;星穹鐵道&#xff5e;展示頁&#xff5e;&#xff5e;&#xff5e; 1. 基本信息 作者: 啊是特嗷桃系列: 復刻系列官方的網站: 《崩壞&#xff1a;星穹鐵道》3.2版本「走過安眠地的花叢」專題展示頁現已上線復刻的網…

爬蟲:IP代理

什么是代理 代理服務器 代理服務器的作用 就是用來轉發請求和響應 在爬蟲中為何需要使用代理&#xff1f; 有些時候&#xff0c;需要對網站服務器發起高頻的請求&#xff0c;網站的服務器會檢測到這樣的異常現象&#xff0c;則會講請求對應機器的ip地址加入黑名單&#xff…

協程的原生掛起與恢復機制

目錄 &#x1f50d; 一、從開發者視角看協程掛起與恢復 &#x1f9e0; 二、協程掛起和恢復的機制原理&#xff1a;核心關鍵詞 ? suspend 函數 ≠ 普通函數 ? Continuation&#xff08;協程的控制器&#xff09; &#x1f527; 三、編譯器做了什么&#xff1f;&#xff0…

c++11--std::forwaord--完美轉發

std::forword的作用 完美轉發的核心目的是保持參數的原始類型&#xff08;包括const/volatile限定符和左值/右值性質&#xff09;不變地傳遞給其他函數。 為什么需要完美轉發 在沒有完美轉發之前&#xff0c;我們面臨以下問題&#xff1a; 模板參數傳遞中的值類別丟失 當參數…

Linux安裝開源版MQTT Broker——EMQX服務器環境從零到一的詳細搭建教程

零、EMQX各個版本的區別 EMQX各個版本的功能對比詳情https://docs.emqx.com/zh/emqx/latest/getting-started/feature-comparison.html