HTTP(Hypertext Transfer Protocol)是用於在網際網路上傳輸數據的協議,它定義了不同種類的請求方法,每種方法都對應不同的操作。在Web應用程序中,我們經常使用不同的HTTP請求方法來執行不同的操作,例如檢索資源、創建新資源、更新資源或刪除資源。在這篇文章中,我們將介紹各種常見的HTTP請求方法以及它們的用法。
GET請求用於檢索資源,它只從伺服器獲取資料,而不對資源進行修改。以下是一個使用Spring Boot的示例:
@RestController
@RequestMapping("/api")
public class UserController {
@Autowired
private UserRepository userRepository;
@GetMapping("/user")
public ResponseEntity<User> getUser() {
return ResponseEntity.ok(userRepository.findAll());
}
}
在這個示例中,我們使用@GetMapping注解來處理GET請求,當客戶端訪問/api/user,將返回 所有 User。
POST請求用於創建新資源或提交數據,通常用於表單提交或API創建資源。以下是一個使用Spring Boot的示例:
@RestController
@RequestMapping("/api")
public class UserController {
@Autowired
private UserRepository userRepository;
@PostMapping("/addUser")
public ResponseEntity<String> addUser() {
User user = new User();
user.setName("chocolee");
userRepository.save(user);
return ResponseEntity.ok("Success!!");
}
}
在這個示例中,我們使用@PostMapping注解來處理POST請求,並將 User 存入資料庫。
PUT請求用於更新現有資源,通常是替換整個資源。PUT請求也將數據包含在請求主體中,並且可以使用@RequestBody來接收這些數據。以下是一個使用Spring Boot的示例:
@RestController
@RequestMapping("/api")
public class UserController {
@Autowired
private UserRepository userRepository;
public String registerUser() {
User user = userRepository.findById(Long.valueOf(1)).orElseThrow();
user.setName("Alex");
userRepository.save(user);
return "success";
}
}
在這個示例中,我們使用@PutMapping注解來處理PUT請求,並使用@PathVariable和@RequestBody接收路徑變數和請求主體中的數據。當客戶端發送PUT請求到/api/resource/{id}時,將更新指定ID的資源。
DELETE請求用於刪除資源,它指示伺服器刪除指定的資源。以下是一個使用Spring Boot的示例:
@RestController
@RequestMapping("/api")
public class UserController {
@DeleteMapping("/rmUser")
public ResponseEntity<String> deleteResource() {
userRepository.deleteById(Long.valueOf(1));
return ResponseEntity.ok("Success!!");
}
}
在這個示例中,我們使用@DeleteMapping注解來處理DELETE請求,使用 Id 來刪除 User。