JavaWeb - RESTful風格 GET、POST、PUT、DELETE 前端請求示例

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章