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這些都是常拼錯的