Trong quá trình phát triển phần mềm hiện đại, việc tích hợp API (Application Programming Interface) là một phần không thể thiếu để kết nối hệ thống, trao đổi dữ liệu và mở rộng chức năng. Tuy nhiên, đây cũng là khu vực dễ phát sinh lỗi nhất do phụ thuộc vào nhiều yếu tố bên ngoài như mạng, xác thực, định dạng dữ liệu, hay thay đổi từ phía dịch vụ thứ ba.
Việc gỡ lỗi API thường trở nên phức tạp khi lỗi không chỉ nằm ở code phía client mà còn liên quan đến server, cấu hình môi trường, hoặc dữ liệu trả về không như mong đợi. Những vấn đề như timeout, sai endpoint, lỗi authentication (401/403), hay response không đúng schema có thể gây gián đoạn nghiêm trọng cho ứng dụng.
Chính vì vậy, việc sử dụng các prompt gỡ lỗi tích hợp API giúp lập trình viên tiếp cận vấn đề một cách có hệ thống và hiệu quả hơn. Thay vì dò lỗi một cách thủ công và thiếu định hướng, các prompt này hỗ trợ phân tích request/response, kiểm tra headers, xác thực, log, và hành vi runtime một cách chi tiết. Nhờ đó, quá trình debug trở nên nhanh chóng, chính xác và dễ tái sử dụng trong nhiều tình huống khác nhau.
Bài viết này sẽ cung cấp mẫu prompt thực tiễn, giúp bạn nhanh chóng xác định nguyên nhân lỗi và đưa ra hướng khắc phục khi làm việc với API trong các môi trường khác nhau như REST, GraphQL hay microservices.
Mẫu prompt gỡ lỗi tích hợp API
Prompt sẽ giúp khắc phục sự cố API
Gỡ lỗi vấn đề tích hợp API này:
API: [TÊN API/ENDPOINT]
Lỗi: [THÔNG BÁO LỖI HOẶC HÀNH VI]
Yêu cầu: [DÁN CODE YÊU CẦU]
Phản hồi: [DÁN PHẢN HỒI]
Tài liệu: [URL TÀI LIỆU API]
Hãy giúp tôi:
1. Xác định vấn đề
2. Sửa định dạng yêu cầu
3. Xử lý các trường hợp ngoại lệ
4. Thêm xử lý lỗi phù hợpPhù hợp nhất cho: GPT-5, Gemini 2.5 Pro
Cách sử dụng prompt mẫu
Thay thế lần lượt các thông tin sau:
- API: JSONPlaceholder
- Lỗi: Lỗi từ server (HTTP 4xx, 5xx), Không nhận được response (network/timeout), Lỗi cấu hình request, Lỗi custom trong code
- Yêu cầu:
// apiDebugDemo.js
const axios = require("axios");
// Tạo instance axios với config cơ bản
const apiClient = axios.create({
baseURL: "https://jsonplaceholder.typicode.com",
timeout: 5000,
});
// Interceptor: Log request trước khi gửi
apiClient.interceptors.request.use(
(config) => {
console.log("=== API REQUEST ===");
console.log("URL:", config.baseURL + config.url);
console.log("Method:", config.method.toUpperCase());
console.log("Headers:", config.headers);
console.log("Params:", config.params);
console.log("Data:", config.data);
console.log("====================\n");
return config;
},
(error) => {
console.error("Request Error:", error.message);
return Promise.reject(error);
}
);
// Interceptor: Log response khi nhận được
apiClient.interceptors.response.use(
(response) => {
console.log("=== API RESPONSE ===");
console.log("Status:", response.status);
console.log("Data:", response.data);
console.log("====================\n");
return response;
},
(error) => {
console.error("=== API ERROR ===");
if (error.response) {
// Server trả về response lỗi (4xx, 5xx)
console.error("Status:", error.response.status);
console.error("Data:", error.response.data);
} else if (error.request) {
// Request gửi đi nhưng không nhận được response
console.error("No response received");
} else {
// Lỗi khi setup request
console.error("Error:", error.message);
}
console.error("====================\n");
return Promise.reject(error);
}
);
// Hàm gọi API
async function fetchPosts() {
try {
const response = await apiClient.get("/posts", {
params: { userId: 1 }
});
return response.data;
} catch (error) {
console.error("Fetch failed!");
}
}
// Chạy thử
fetchPosts();- Phản hồi: Phản hồi trong đoạn code =
- response.status → 200 (thành công)
- response.data → danh sách bài viết từ API
- Tài liệu: https://jsonplaceholder.typicode.com
Kết quả prompt ví dụ được thực hiện bằng GPT-5
Gỡ lỗi vấn đề tích hợp API này:
API: JSONPlaceholder
Lỗi: Lỗi từ server (HTTP 4xx, 5xx), Không nhận được response (network/timeout), Lỗi cấu hình request, Lỗi custom trong code
Yêu cầu:
// apiDebugDemo.js
const axios = require("axios");
// Tạo instance axios với config cơ bản
const apiClient = axios.create({
baseURL: "https://jsonplaceholder.typicode.com",
timeout: 5000,
});
// Interceptor: Log request trước khi gửi
apiClient.interceptors.request.use(
(config) => {
console.log("=== API REQUEST ===");
console.log("URL:", config.baseURL + config.url);
console.log("Method:", config.method.toUpperCase());
console.log("Headers:", config.headers);
console.log("Params:", config.params);
console.log("Data:", config.data);
console.log("====================\n");
return config;
},
(error) => {
console.error("Request Error:", error.message);
return Promise.reject(error);
}
);
// Interceptor: Log response khi nhận được
apiClient.interceptors.response.use(
(response) => {
console.log("=== API RESPONSE ===");
console.log("Status:", response.status);
console.log("Data:", response.data);
console.log("====================\n");
return response;
},
(error) => {
console.error("=== API ERROR ===");
if (error.response) {
// Server trả về response lỗi (4xx, 5xx)
console.error("Status:", error.response.status);
console.error("Data:", error.response.data);
} else if (error.request) {
// Request gửi đi nhưng không nhận được response
console.error("No response received");
} else {
// Lỗi khi setup request
console.error("Error:", error.message);
}
console.error("====================\n");
return Promise.reject(error);
}
);
// Hàm gọi API
async function fetchPosts() {
try {
const response = await apiClient.get("/posts", {
params: { userId: 1 }
});
return response.data;
} catch (error) {
console.error("Fetch failed!");
}
}
// Chạy thử
fetchPosts();
Phản hồi: Phản hồi trong đoạn code =
response.status → 200 (thành công)
response.data → danh sách bài viết từ API
Tài liệu: https://jsonplaceholder.typicode.com
Hãy giúp tôi:
1. Xác định vấn đề
2. Sửa định dạng yêu cầu
3. Xử lý các trường hợp ngoại lệ
4. Thêm xử lý lỗi phù hợp











Hướng dẫn AI
Học IT
AI
Hàm Excel