Hướng dẫn test api
LÝ THUYẾT VỀ API
PHẦN 1: LÝ THUYẾT VỀ API
1.1. API là gì?
API (Application Programming Interface – Giao diện Lập trình Ứng dụng) là một tập hợp quy tắc và giao thức cho phép các ứng dụng phần mềm khác nhau giao tiếp và trao đổi dữ liệu với nhau mà không cần biết chi tiết bên trong.
Ví dụ minh họa dễ hiểu: Khi bạn gọi món ăn ở nhà hàng, bạn không vào bếp tự nấu mà chỉ nói với người phục vụ (API). Người phục vụ sẽ truyền yêu cầu đến bếp (server) và mang món ăn (dữ liệu) ra cho bạn.
1.2. Các loại API phổ biến
| Loại API | Mô tả | Ví dụ thực tế |
|---|---|---|
| Web API | API chạy trên web, dùng HTTP | Google Maps API, OpenWeather |
| Library API | Thư viện trong code | Math library trong Python |
| Operating System API | API của hệ điều hành | Windows API |
| Hardware API | Giao tiếp với phần cứng | Camera API trên điện thoại |
Trong phát triển web hiện nay, chúng ta chủ yếu làm việc với Web API, đặc biệt là RESTful API.
1.3. RESTful API là gì?
REST (Representational State Transfer) là một kiến trúc phần mềm được Roy Fielding đề xuất năm 2000. RESTful API là API tuân thủ 6 nguyên tắc chính của REST:
- Client-Server
- Stateless (mỗi request phải chứa đầy đủ thông tin)
- Cacheable
- Uniform Interface
- Layered System
- Code on Demand (tùy chọn)
1.4. Phương thức HTTP (HTTP Methods) trong API
| Phương thức | Ý nghĩa | CRUD | An toàn & Idempotent |
|---|---|---|---|
| GET | Lấy dữ liệu | Read | Có |
| POST | Tạo dữ liệu mới | Create | Không |
| PUT | Cập nhật toàn bộ | Update | Có |
| PATCH | Cập nhật một phần | Update | Không |
| DELETE | Xóa dữ liệu | Delete | Có |
1.5. Mã trạng thái HTTP (HTTP Status Codes)
| Nhóm | Ý nghĩa | Mã phổ biến |
|---|---|---|
| 2xx | Thành công | 200 OK, 201 Created, 204 No Content |
| 3xx | Chuyển hướng | 301, 302 |
| 4xx | Lỗi từ phía Client | 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found |
| 5xx | Lỗi từ phía Server | 500 Internal Server Error |
1.6. Xác thực và Ủy quyền (Authentication & Authorization)
Các phương pháp phổ biến:
- API Key (đơn giản)
- Basic Auth (username + password)
- Bearer Token / JWT (phổ biến nhất hiện nay)
- OAuth 2.0 (Google, Facebook login)
1.7. Định dạng dữ liệu
- JSON (phổ biến nhất)
- XML (cũ hơn, SOAP dùng nhiều)
- Form-data (upload file)
1.8. Best Practices khi thiết kế API
- Sử dụng danh từ cho resource (ví dụ: /users, /posts)
- Phiên bản API (/v1/users)
- Pagination, Filtering, Sorting
- Rate Limiting
- Hỗ trợ CORS
- Document API bằng Swagger/OpenAPI
HƯỚNG DẪN KIỂM THỬ API CHI TIẾT BẰNG POSTMAN
PHẦN 2: HƯỚNG DẪN KIỂM THỬ API CHI TIẾT BẰNG POSTMAN
2.1. Postman là gì?
Postman là công cụ miễn phí mạnh nhất hiện nay để thiết kế, kiểm thử và document API.
2.2. Cài đặt Postman
- Truy cập: https://www.postman.com/downloads/
- Tải phiên bản phù hợp (Windows/Mac/Linux)
- Cài đặt và đăng ký tài khoản (khuyến khích dùng tài khoản để lưu Collection trên cloud)
2.3. Giao diện Postman cơ bản
2.4. Tạo và thực hiện Request cơ bản
Bước 1: Mở Postman → New → HTTP Request
Bước 2: Chọn phương thức (GET/POST…)
Bước 3: Nhập URL
Bước 4: Thêm Headers, Params, Body (nếu cần)
Bước 5: Nhấn Send
2.5. Ví dụ thực hành với JSONPlaceholder (API test miễn phí)
Base URL: https://jsonplaceholder.typicode.com
Ví dụ 1: GET – Lấy danh sách bài viết
- Method: GET
- URL: https://jsonplaceholder.typicode.com/posts
- Send → Kết quả: mảng JSON 100 bài viết
Ví dụ 2: GET – Lấy 1 bài viết theo ID
- URL: https://jsonplaceholder.typicode.com/posts/1
Ví dụ 3: POST – Tạo bài viết mới
- Method: POST
- URL: https://jsonplaceholder.typicode.com/posts
- Body → raw → JSON:
{
"title": "Bài viết của Dillon",
"body": "Nội dung test API",
"userId": 1
}
Ví dụ 4: PUT – Cập nhật bài viết
- Method: PUT
- URL: https://jsonplaceholder.typicode.com/posts/1
Ví dụ 5: DELETE
- Method: DELETE
- URL: https://jsonplaceholder.typicode.com/posts/1