Learning Hub
Phát triển Web

Xử lý lỗi, pagination và rate limit

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

API client bền vững cần phân loại error, giới hạn retry, paginate đến stopping signal đã document và tôn trọng rate-limit header. Retry mọi thứ mù quáng có thể làm outage nặng hơn.

API client bền vững cần phân loại error, giới hạn retry, paginate đến stopping signal đã document và tôn trọng rate-limit header. Retry mọi thứ mù quáng có thể làm outage nặng hơn.

Nhìn nhanh

Câu hỏi Câu trả lời thực tế
Dùng khi nào? Client retry 503 tạm thời với jitter, refresh credential theo flow 401 có kiểm soát, dừng khi input 400 và đi theo next-page cursor đến khi hết.
Cần làm gì? Viết client cho mocked API trả hai page, một transient failure và một rate-limit response; log quyết định nhưng không log secret.
Biết là đúng bằng cách nào? Mỗi item xuất hiện đúng một lần, retry không vượt limit, request sai fail nhanh và client chờ đúng reset time đã công bố.
Lỗi hay gặp? Tránh giả định offset khi API dùng cursor và không retry non-idempotent write nếu chưa có idempotency strategy.
flowchart LR
  A[Câu hỏi] --> B[Xử lý lỗi, pagination và rate limit]
  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

Client retry 503 tạm thời với jitter, refresh credential theo flow 401 có kiểm soát, dừng khi input 400 và đi theo next-page cursor đến khi hết.

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ử lý lỗi, pagination và rate limit, 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: Viết client cho mocked API trả hai page, một transient failure và một rate-limit response; log quyết định nhưng không log secret.

  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: Mỗi item xuất hiện đúng một lần, retry không vượt limit, request sai fail nhanh và client chờ đúng reset time đã công bố.

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

Tránh giả định offset khi API dùng cursor và không retry non-idempotent write nếu chưa có idempotency strategy.

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.