iT邦幫忙

2023 iThome 鐵人賽

DAY 24
0
Mobile Development

[Android Studio & Spring boot 30天挑戰]系列 第 24

[Android Studio & Spring boot 30天挑戰] Day24- 各種請求標籤

  • 分享至 

  • xImage
  •  

HTTP(Hypertext Transfer Protocol)是用於在網際網路上傳輸數據的協議,它定義了不同種類的請求方法,每種方法都對應不同的操作。在Web應用程序中,我們經常使用不同的HTTP請求方法來執行不同的操作,例如檢索資源、創建新資源、更新資源或刪除資源。在這篇文章中,我們將介紹各種常見的HTTP請求方法以及它們的用法。

GET 請求

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 請求

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請求用於更新現有資源,通常是替換整個資源。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 請求

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。


上一篇
[Android Studio & Spring boot 30天挑戰] Day23- Spring 三層式架構
下一篇
[Android Studio & Spring boot 30天挑戰] Day25 - API 各種資料傳遞方式
系列文
[Android Studio & Spring boot 30天挑戰]30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言