GET請求
- GET請求會向數據庫發索取數據的請求,從而來獲取信息,該請求就像數據庫的select操作一樣,只是用來查詢一下數據,不會修改、增加數據,不會影響資源的內容,即該請求不會產生副作用。無論進行多少次操作,結果都是一樣的。
後端
@ResponseBody
@GetMapping("/user/{id}")
public User selectUserById(@PathVariable("id") Integer id){
return userService.getUserById(id);
}
前端
localhost:8083/user/1
POST請求
- POST請求同PUT請求類似,都是向服務器端發送數據的,但是該請求會改變數據的種類等資源,就像數據庫的insert操作一樣,會創建新的內容。幾乎目前所有的提交操作都是用POST請求的。
後端
@ResponseBody
@PostMapping("/user")
public User insert(User user){
System.out.println("Get請求...");
userService.insert(user);
return user;
}
前端
<form action="http://localhost:8083/user" method="post">
<input type="text" name="id" value="1"/>
<input type="text" name="name" value="one"/>
<input type="submit" value="提交"/>
</form>
PUT請求
- 與GET不同的是,PUT請求是向服務器端發送數據的,從而改變信息,該請求就像數據庫的update操作一樣,用來修改數據的內容,但是不會增加數據的種類等,也就是說無論進行多少次PUT操作,其結果並沒有不同。
後端
@ResponseBody
@PutMapping("/user")
public User update(User user){
System.out.println("Put請求...");
System.out.println(user);
return userService.update(user);
}
前端
<form action="http://localhost:8083/user" method="post">
<input type="text" name="id" value="1"/>
<input type="text" name="name" value="one"/>
<input type="text" name="_method" value="PUT"/>
<input type="submit" value="提交"/>
</form>
Ps:就像前面所講的一樣,既然PUT和POST操作都是向服務器端發送數據的,那麼兩者有什麼區別呢?POST主要作用在一個集合資源之上的(url),而PUT主要作用在一個具體資源之上的(url/xxx),通俗一下講就是,如URL可以在客戶端確定,那麼可使用PUT,否則用POST。
DELETE請求
- DELETE請求顧名思義,就是用來刪除某一個資源的,該請求就像數據庫的delete操作。
後端
@DeleteMapping("/user/{id}")
@ResponseBody
public String delete(@PathVariable("id") Integer id){
System.out.println("Delete請求...");
userService.delete(id);
return "從緩存中刪除編號爲"+id+"的對象,下一次將從數據庫中查詢該對象";
}
前端
<form action="http://localhost:8083/user/1" method="post">
<input type="text "name="_method" value="DELETE"/>
<input type="submit" value="提交"/>
</form>
Ps:異步請求,對於PUT和DELETE請求,使用POST方法提交,在上送的數據中加上_method=PUT/DELETE