Cách kiểm thử API giả lập và xây dựng API ảo của riêng bạn

Kiểm tra với các tùy chọn API dummy miễn phí tốt nhất như JSONPlaceholder, sau đó xây dựng API giả của riêng bạn với dữ liệu giả lập dựa trên lược đồ trong Apidog.

INEZA Felin-Michel

INEZA Felin-Michel

24 tháng 6 2026

Cách kiểm thử API giả lập và xây dựng API ảo của riêng bạn

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

Khi bạn đang xây dựng một frontend, gỡ lỗi cho client, hoặc học một thư viện HTTP mới, bạn thường cần một endpoint trả về JSON trông giống thật mà không cần dựng backend. Một dummy API (API giả) cung cấp chính xác điều đó: một dịch vụ công khai, miễn phí, luôn hoạt động mà bạn có thể gọi ngay bây giờ. Hướng dẫn này liệt kê các dummy API công khai tốt nhất, chỉ cho bạn cách gọi chúng, và giải thích khi nào nên ngừng mượn dữ liệu của người khác và tự xây dựng một fake REST API của riêng bạn. Nếu bạn muốn tìm hiểu sâu hơn về bức tranh tổng thể của các API công khai, hướng dẫn của MDN về việc sử dụng Fetch API rất phù hợp với tất cả những điều dưới đây.

nút

Dummy API thực chất là gì

Một dummy API là một dịch vụ được host (lưu trữ) trả về JSON đã được định sẵn, trông giống thật cho các loại tài nguyên phổ biến: người dùng, bài đăng, sản phẩm, giỏ hàng, danh sách công việc. Bạn không cần đăng ký, không cần lưu trữ bất cứ thứ gì, và không phải lo lắng về việc làm hỏng dữ liệu sản xuất. Hầu hết chúng chấp nhận các phương thức GET, POST, PUT, PATCH và DELETE, nhưng các thao tác ghi thường là giả mạo. Máy chủ trả về payload của bạn kèm theo một ID và giả vờ đã lưu, trong khi thực tế không có gì được lưu trữ bền vững.

Đó là đặc điểm chính cần hiểu trước khi bạn dựa vào chúng. Một dummy API hoàn hảo cho việc tạo prototype (nguyên mẫu) tập trung vào đọc dữ liệu và để chứng minh rằng mã yêu cầu của bạn hoạt động. Nó không phù hợp khi bạn cần hành vi có trạng thái, các cấu trúc dữ liệu riêng của bạn hoặc các điều kiện lỗi tùy chỉnh.

Các dummy API và fake API miễn phí tốt nhất để kiểm thử

Dưới đây là các API công khai đáng biết. Tất cả đều miễn phí và không yêu cầu thiết lập backend từ phía bạn.

JSONPlaceholder

JSONPlaceholder là một dịch vụ kinh điển. Nó cung cấp sáu tài nguyên liên quan: 100 bài đăng, 500 bình luận, 100 album, 5.000 ảnh, 200 việc cần làm và 10 người dùng. Các mối quan hệ là thật, vì vậy một bài đăng có bình luận và một album có ảnh, điều này rất tốt để kiểm thử các lệnh fetch lồng nhau.

curl https://jsonplaceholder.typicode.com/posts/1

Bạn sẽ nhận lại một đối tượng bài đăng duy nhất. Các yêu cầu ghi được chấp nhận nhưng không được lưu, vì vậy một POST /posts luôn trả về một id: 101 giả mạo mỗi lần.

DummyJSON

DummyJSON cung cấp phạm vi rộng hơn. Nó cung cấp các sản phẩm, giỏ hàng, người dùng, bài đăng, bình luận, trích dẫn, việc cần làm và công thức nấu ăn, cùng với một luồng xác thực (auth flow) cung cấp cho bạn một token. Nếu bạn đang kiểm thử giao diện người dùng giỏ hàng hoặc màn hình đăng nhập, đây là lựa chọn phù hợp.

curl https://dummyjson.com/products/1

Endpoint xác thực cho phép bạn gửi (POST) tên người dùng và mật khẩu để nhận một JWT, điều này tiện lợi cho việc thực hành lưu trữ token và các yêu cầu đã xác thực mà không cần kết nối với một nhà cung cấp danh tính thực sự.

reqres.in

reqres.in tập trung vào vòng đời yêu cầu và phản hồi: liệt kê người dùng, người dùng đơn lẻ, đăng ký, đăng nhập, phản hồi trễ. Nó được xây dựng để demo phân trang và các luồng xác thực. Một điều cần biết: gói miễn phí hiện yêu cầu một header API key. Gửi x-api-key: reqres-free-v1 cùng với các yêu cầu của bạn, nếu không bạn sẽ nhận lỗi 401.

curl https://reqres.in/api/users/2 -H "x-api-key: reqres-free-v1"

Khi nào nên sử dụng từng loại

Dummy API Tốt nhất cho Luồng xác thực Khả năng lưu trữ ghi
JSONPlaceholder Đọc lồng nhau, dữ liệu kiểu blog Không Giả mạo, không lưu
DummyJSON Thương mại điện tử, giỏ hàng, đăng nhập Có (token) Giả mạo, không lưu
reqres.in Demo phân trang, đăng ký/đăng nhập Header API key Giả mạo, không lưu

Nếu bạn muốn có một danh mục lựa chọn rộng hơn ngoài ba loại này, phần tổng hợp các API công khai để kiểm thử bao gồm nhiều lựa chọn chuyên biệt hơn, và danh sách các API công khai miễn phí dành cho nhà phát triển hữu ích khi bạn cần dữ liệu theo chủ đề như thời tiết hoặc tiền tệ.

Cách gọi dummy API trong mã của bạn

Việc gọi một API giả giống như gọi bất kỳ endpoint HTTP nào. Dưới đây là một ví dụ fetch đơn giản trong JavaScript đọc thông tin người dùng và sau đó tạo một người dùng mới.

// Read
const res = await fetch('https://dummyjson.com/users/1');
const user = await res.json();
console.log(user.firstName);

// Write (echoed back, not persisted)
const created = await fetch('https://dummyjson.com/users/add', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ firstName: 'Ada', lastName: 'Lovelace' }),
});
console.log(await created.json()); // returns an object with a fake id

Trong Python với thư viện requests, cách làm cũng đơn giản tương tự.

import requests

r = requests.get("https://jsonplaceholder.typicode.com/todos/1")
print(r.json())

Đặt một trong hai đoạn mã này vào một tệp kiểm thử và bạn sẽ có một tích hợp hoạt động để xác nhận. Nếu bạn cần các giá trị đáng tin cậy cho các xác nhận đó, hướng dẫn về tạo dữ liệu kiểm thử API thực tế cho thấy cách tạo tên, email và dấu thời gian trông giống lưu lượng truy cập sản xuất thay vì test123.

Khi dummy API công khai không còn đủ

Các dummy API công khai rất tuyệt vời cho đến khi nhu cầu của bạn trở nên cụ thể. Bạn sẽ gặp khó khăn trong một vài tình huống phổ biến:

Tại thời điểm đó, bạn không cần một API đi mượn. Bạn cần một fake API (API giả) của riêng mình, trả về cấu trúc dữ liệu của bạn, theo yêu cầu, với các phản hồi mà bạn kiểm soát. Đó chính là một mock API được xây dựng để kiểm thử, và đó là lúc Apidog phát huy tác dụng.

Cách xây dựng fake API của riêng bạn với Apidog

Apidog là một nền tảng API kết hợp thiết kế, kiểm thử, gỡ lỗi và mocking (tạo API giả) trong một nơi duy nhất. Chức năng mocking của nó được điều khiển bởi schema, vì vậy nó đọc cấu trúc của endpoint của bạn và tự động tạo dữ liệu giả thực tế bằng cách sử dụng các quy tắc Faker tích hợp sẵn. Bạn định nghĩa cấu trúc một lần, và mỗi yêu cầu sẽ trả về các giá trị mới, hợp lý.

Dưới đây là phiên bản ngắn gọn của quy trình làm việc.

  1. Tạo hoặc nhập một endpoint. Định nghĩa một API mới trong Apidog, hoặc nhập một tệp OpenAPI hoặc Swagger hiện có. Apidog đọc trực tiếp schema.
  2. Để mock thông minh điền dữ liệu. Đối với một trường tên là email, Apidog trả về một email. Đối với createdAt, nó trả về một dấu thời gian. Đối với price, một số. Bạn có thể điều chỉnh các quy tắc này cho từng trường, ví dụ trường country trả về tên quốc gia thật thay vì các chuỗi ngẫu nhiên.
  3. Truy cập URL mock cục bộ. Apidog khởi động một mock server và cung cấp cho bạn một URL cho mỗi endpoint. Gọi nó từ frontend, các bài kiểm thử của bạn, hoặc curl, chính xác như một dummy API công khai, ngoại trừ các phản hồi khớp với hợp đồng của bạn.
  4. Thêm các phản hồi có điều kiện và lỗi. Cấu hình một mock để trả về lỗi 500, 404, hoặc một phản hồi trễ dựa trên yêu cầu. Bây giờ bạn có thể kiểm thử các trường hợp không mong muốn mà các dịch vụ công khai không bao giờ cho phép bạn tái tạo.

Bởi vì mock được tạo ra từ spec của bạn, nó sẽ luôn đồng bộ khi thiết kế của bạn phát triển. Thay đổi một trường, và mock sẽ phản ánh điều đó. Nếu bạn muốn có cái nhìn rộng hơn về việc tạo mock trực tiếp từ một spec, hướng dẫn chi tiết về tạo dữ liệu mock từ các schema OpenAPI sẽ đi sâu hơn vào khía cạnh Faker.

Dummy API công khai so với mock API Apidog của riêng bạn

Nhu cầu Dummy API công khai Mock API Apidog
Dữ liệu chỉ đọc nhanh chóng Rất tốt Rất tốt
Cấu trúc dữ liệu chính xác của bạn Không
Phản hồi lỗi và độ trễ tùy chỉnh Không
Khớp với hợp đồng OpenAPI của bạn Không
Thời gian thiết lập Bằng 0 Vài phút

Không có loại nào tốt hơn hẳn. Một dummy API công khai sẽ vượt trội khi bạn chỉ cần bất kỳ JSON nào trong năm giây. Mock API Apidog của riêng bạn thắng thế khi sự chính xác đối với hợp đồng thực tế của bạn là quan trọng. Hầu hết các đội đều sử dụng cả hai: các API công khai cho các thử nghiệm dùng một lần, và mock dự án cho mọi thứ được triển khai.

Các câu hỏi thường gặp

Dummy API có giống như mock API không?

Chúng trùng lặp nhưng không hoàn toàn giống nhau. Một dummy API thường có nghĩa là một dịch vụ công khai, chia sẻ với dữ liệu mẫu cố định, như JSONPlaceholder. Một mock API là một API mà bạn tự định nghĩa và kiểm soát, trả về các cấu trúc và hành vi riêng của bạn. Một dummy API là một dạng mock mà người khác đã host. Nếu bạn muốn phân biệt rõ ràng, hãy xem phần giải thích về mock API là gì.

Các fake API miễn phí có an toàn để sử dụng với dữ liệu thật không?

Không. Đừng bao giờ gửi dữ liệu người dùng thật, bí mật, hoặc token đến một dummy API công khai. Hãy coi mọi thứ bạn POST đều được ghi lại và hiển thị. Chỉ sử dụng chúng với các giá trị kiểm thử dùng một lần. Khi bạn cần sự riêng tư hoặc tính bền vững, hãy tự host mock của riêng bạn.

Dummy API có lưu dữ liệu tôi gửi không?

Hầu như không bao giờ. JSONPlaceholder, DummyJSON và reqres.in đều chấp nhận các yêu cầu ghi và trả về kết quả kèm theo một ID được tạo, nhưng không có gì được lưu trữ bền vững. Làm mới và bản ghi "đã tạo" của bạn sẽ biến mất. Nếu bạn cần trạng thái được duy trì, bạn cần một mock có trạng thái hoặc một backend thực sự.

Tôi có thể xây dựng một fake API mà không cần viết mã không?

Có. Với Apidog, bạn định nghĩa cấu trúc endpoint và để tính năng mocking thông minh tạo dữ liệu, không cần mã máy chủ. Bạn cũng có thể nhập một tệp OpenAPI và có các endpoint mock hoạt động chỉ trong vài phút.

Tổng kết

Các dummy API công khai như JSONPlaceholder, DummyJSON và reqres.in là cách nhanh nhất để nhận JSON thực tế cho việc tạo prototype và học hỏi. Chúng không tốn phí và không cần thiết lập. Thời điểm bạn cần các cấu trúc dữ liệu riêng của mình, trạng thái thực, hoặc các phản hồi lỗi có kiểm soát, hãy xây dựng một fake API mà bạn thực sự sở hữu.

Apidog cho phép bạn làm chính xác điều đó: nhập spec của bạn, nhận dữ liệu mock dựa trên schema, và gọi các endpoint của riêng bạn trong vài phút. Tải Apidog và biến hợp đồng API tiếp theo của bạn thành một mock hoạt động trước khi có bất kỳ dòng mã backend nào. Hãy xem nó phù hợp với quy trình kiểm thử của bạn như thế nào tại Apidog.

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API