Learning Hub
Phát triển Web

Xây dựng và gọi REST API

6 phút đọc·Cập nhật 2026-09-09

REST-style API mô hình resource bằng URL ổn định, dùng HTTP method để thể hiện ý định, trả status code có nghĩa và giữ request self-contained. Tính nhất quán quan trọng hơn việc chạy theo sự thuần khiết kiến trúc.

REST-style API mô hình resource bằng URL ổn định, dùng HTTP method để thể hiện ý định, trả status code có nghĩa và giữ request self-contained. Tính nhất quán quan trọng hơn việc chạy theo sự thuần khiết kiến trúc.

Nhìn nhanh

Câu hỏi Câu trả lời thực tế
Dùng khi nào? Với /tasks, GET liệt kê task, POST tạo task, PATCH /tasks/42 đổi một số field và DELETE /tasks/42 xóa khi đã authorize.
Cần làm gì? Implement task API in-memory có validation, sau đó thử happy path và một request sai bằng curl hoặc API client.
Biết là đúng bằng cách nào? Resource mới trả 201 cùng identifier ổn định; input sai trả 400 với lỗi hữu ích; resource không tồn tại trả 404.
Lỗi hay gặp? Tránh đưa verb vào mọi URL hoặc trả 200 cho mọi kết quả; client phụ thuộc vào semantic nhất quán.
flowchart LR
  A[Câu hỏi] --> B[Xây dựng và gọi REST API]
  B --> C[Ví dụ nhỏ]
  C --> D[Bằng chứng]

Điểm quan trọng của sơ đồ là không dừng ở định nghĩa: hãy nối khái niệm với một ví dụ nhỏ và bằng chứng có thể quan sát.

Ví dụ đã phân tích

Với /tasks, GET liệt kê task, POST tạo task, PATCH /tasks/42 đổi một số field và DELETE /tasks/42 xóa khi đã authorize.

Trước khi làm, hãy viết dấu hiệu thành công. Sau đó chỉ thay đổi một yếu tố, quan sát kết quả và ghi lại assumption. Với Xây dựng và gọi REST API, cách này giúp tách điều bạn biết khỏi điều bạn chỉ đang đoán.

Thực hành trong 20–30 phút

Mục tiêu: Implement task API in-memory có validation, sau đó thử happy path và một request sai bằng curl hoặc API client.

  1. Ghi lại trạng thái ban đầu và điều bạn dự đoán.
  2. Thực hiện phiên bản nhỏ nhất, không thêm công cụ chưa cần thiết.
  3. Thay đổi đúng một input hoặc constraint rồi chạy lại.
  4. Lưu command, screenshot, output hoặc checklist làm bằng chứng.

Kết quả mong đợi: Resource mới trả 201 cùng identifier ổn định; input sai trả 400 với lỗi hữu ích; resource không tồn tại trả 404.

Sai ở đâu và sửa thế nào

Tránh đưa verb vào mọi URL hoặc trả 200 cho mọi kết quả; client phụ thuộc vào semantic nhất quán.

Khi kết quả khác dự đoán, đừng đổi nhiều thứ cùng lúc. Kiểm tra input, version, environment, quyền truy cập và log trước; sau đó lặp lại từ ví dụ nhỏ nhất.

Định nghĩa hoàn thành

  • Tôi giải thích được khái niệm bằng ngôn ngữ của mình.
  • Tôi đã hoàn thành ví dụ nhỏ và giữ bằng chứng.
  • Tôi biết một failure mode và cách kiểm tra nó.
  • Người khác có thể làm lại mà không phải đoán bước còn thiếu.

Đi sâu hơn

Mở resource hoặc repository đi kèm ở cuối trang khi bạn cần implementation đầy đủ. Hãy kiểm tra version hiện hành trước khi dùng command trong dự án thật.