Ví dụ REST
Việc tạo một HTTP request cơ bản và phân tích phản hồi khá đơn giản trong hầu hết các ngôn ngữ lập trình. Trong ví dụ này, bạn sẽ thấy cách sử dụng Python cùng thư viện requests để tạo một HTTP GET request đơn giản đến một tài nguyên thành viên — một user có ID là 1 (/users/1) — và in nội dung phản hồi.
Nội dung phản hồi được trả về dưới dạng chuỗi văn bản (plaintext), do đó bạn phải giải tuần tự (deserialize) chuỗi này thành một đối tượng bằng thư viện json.
Lưu ý
Yêu cầu Python phiên bản >= 3.6 để hỗ trợ định dạng chuỗi bằng f-string. Tham khảo thêm tại: https://www.python.org/dev/peps/pep-0498.
Trong ví dụ tiếp theo, bạn có thể thấy tài nguyên trong URI là một collection resource (tập hợp tất cả users — /users). Trong trường hợp này, kết quả là một mảng các object.
REST vs. SOAP
Cả REST và SOAP đều là hai kiểu API phổ biến nhất trong thế giới web services hiện nay, và không có phương pháp nào “tốt hơn” một cách tuyệt đối. Điều này phụ thuộc vào vấn đề bạn cần giải quyết và nguồn lực bạn có.
Câu hỏi ôn tập nội dung
Ba phát biểu nào sau đây về REST APIs là đúng? (Chọn 3)
Đáp án đúng: 1, 2, 4
Việc tạo một HTTP request cơ bản và phân tích phản hồi khá đơn giản trong hầu hết các ngôn ngữ lập trình. Trong ví dụ này, bạn sẽ thấy cách sử dụng Python cùng thư viện requests để tạo một HTTP GET request đơn giản đến một tài nguyên thành viên — một user có ID là 1 (/users/1) — và in nội dung phản hồi.
Nội dung phản hồi được trả về dưới dạng chuỗi văn bản (plaintext), do đó bạn phải giải tuần tự (deserialize) chuỗi này thành một đối tượng bằng thư viện json.
Lưu ý
Yêu cầu Python phiên bản >= 3.6 để hỗ trợ định dạng chuỗi bằng f-string. Tham khảo thêm tại: https://www.python.org/dev/peps/pep-0498.
Trong ví dụ tiếp theo, bạn có thể thấy tài nguyên trong URI là một collection resource (tập hợp tất cả users — /users). Trong trường hợp này, kết quả là một mảng các object.
REST vs. SOAP
Cả REST và SOAP đều là hai kiểu API phổ biến nhất trong thế giới web services hiện nay, và không có phương pháp nào “tốt hơn” một cách tuyệt đối. Điều này phụ thuộc vào vấn đề bạn cần giải quyết và nguồn lực bạn có.
- REST
- Ưu điểm: Khả năng mở rộng, hiệu năng và tính linh hoạt cao hơn
- Nhược điểm: Ít bảo mật hơn, không phù hợp với môi trường phân tán
- Định dạng thông điệp: Bất kỳ (JSON, XML, v.v.)
- Giao thức truyền: HTTP
- Cách tiếp cận: Data-driven (dữ liệu là tài nguyên)
- SOAP
- Ưu điểm: Bảo mật cao hơn, chuẩn hóa tốt hơn
- Nhược điểm: Phức tạp hơn, hiệu năng kém hơn
- Định dạng thông điệp: Chỉ XML
- Giao thức truyền: Nhiều, tùy theo chuẩn (HTTP, SMTP, v.v.)
- Cách tiếp cận: Function-driven (dữ liệu như lời gọi hàm)
Câu hỏi ôn tập nội dung
Ba phát biểu nào sau đây về REST APIs là đúng? (Chọn 3)
- REST sử dụng tập hợp các phương thức HTTP để định nghĩa các thao tác của nó.
- REST là một kiến trúc stateless (không lưu trạng thái).
- REST responses chứa kết quả của lời gọi hàm từ request.
- REST là lựa chọn tốt hơn SOAP khi triển khai API cần hiệu năng cao.
- REST là lựa chọn tốt hơn SOAP khi triển khai API doanh nghiệp phân tán, yêu cầu bảo mật cao.
Đáp án đúng: 1, 2, 4