Tóm tắt và Thực hành
Những điểm chính cần nhớ
- Một là một tấm thực đơn các yêu cầu mà một chương trình cung cấp cho chương trình khác, và nó là một hợp đồng: hỏi theo cách đã thỏa thuận, nhận câu trả lời theo hình dạng đã thỏa thuận. Hầu hết lỗi API là do một bên phá vỡ hợp đồng đó.
- là cách câu trả lời trở về — khóa và giá trị, được xây dựng từ object
{ }và array[ ], có thể lồng nhau. Các kiểu dữ liệu là string, number, boolean, null, array, object. - Cái bẫy chuỗi-so-với-số (
42so với"42") và thiếu-so-với-nulllà những lỗi hình dạng thường gặp nhất. Bây giờ bạn đã biết đọc JSON — hãy kiểm tra kiểu dữ liệu khi có gì đó hoạt động kỳ lạ. - Một khóa API là một mật khẩu. Không bao giờ đưa nó lên trình duyệt, không bao giờ nó vào , hãy lưu nó trong biến môi trường. Một khóa bị rò rỉ nên được xoay vòng ngay lập tức.
- Chú ý đến giới hạn tần suất (
429) và tính phí theo lượt sử dụng — các vòng lặp do AI viết gọi một API trả phí mà không nghỉ là cách bạn nhận được một hóa đơn bốn chữ số. Hãy đọc bảng giá và đặt cảnh báo ngân sách trước.
Thử làm
Tìm một API miễn phí, không cần khóa, trong trình duyệt của bạn — ví dụ mở https://api.github.com/users/octocat trực tiếp trong một tab mới. Bạn sẽ thấy một phản hồi JSON thô. Hãy đọc nó như một biểu mẫu: chỉ ra các object { }, tìm một array nếu có, và gọi tên kiểu dữ liệu của ba giá trị khác nhau (cái nào là chuỗi? số? boolean? có cái nào là null không?). Bạn vừa thực hiện đúng việc kiểm tra hợp lý mà chương này yêu cầu bạn làm trên mỗi phản hồi API mà AI kết nối.
của chương
I'm calling an API and I want to check the data shape myself, as a beginner.
Here are the real docs (example request + example response):
<paste the example request and JSON response from the API's docs>
- Before writing parsing code, show me the raw JSON the call returns and
point out the keys, their types, and anything that might be null or missing.
- Confirm the keys my code reads actually exist in that response.
- Make sure the API key is read from an environment variable on the server,
never hardcoded or sent to the browser.
- Tell me what happens if the call fails, times out, or hits a rate limit.