Công Cụ CLI Nhẹ Tốt Nhất Giả Lập API

Sáu công cụ CLI nhẹ để giả lập API, được xếp hạng theo dung lượng: Prism, Mockoon CLI, json-server, MockServer, WireMock và Apidog CLI. Lệnh đã được xác minh.

INEZA Felin-Michel

INEZA Felin-Michel

13 tháng 7 2026

Công Cụ CLI Nhẹ Tốt Nhất Giả Lập API

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

Bạn cần một API giả để phát triển, và bạn cần nó trong ba mươi giây tới. Không phải một dịch vụ được lưu trữ, không phải một Docker Compose stack, không phải một giao diện người dùng để nhấp qua. Chỉ cần một lệnh đọc một tệp và bắt đầu phục vụ phản hồi trên localhost. Đó là những gì một máy chủ giả lập nhẹ (lightweight mock server) làm. Bạn trỏ nó vào một đặc tả OpenAPI hoặc một tệp dữ liệu nhỏ, chạy một lệnh và nhận được các điểm cuối thực tế mà giao diện người dùng hoặc bài kiểm tra của bạn có thể truy cập trong khi phần phụ trợ thực tế vẫn đang được xây dựng. Những công cụ tốt nhất được đóng gói dưới dạng một tệp thực thi duy nhất hoặc một gói có thể `npx`, khởi động dưới một giây và hầu như không cần cấu hình. Một số tùy chọn nặng hơn ở đây chạy trên JVM và làm được nhiều hơn; chúng có chỗ đứng khi bạn cần khớp yêu cầu nâng cao hoặc hành vi có trạng thái. Hướng dẫn này xếp hạng sáu công cụ giả lập CLI dựa trên mức độ yêu cầu tối thiểu của chúng. Nó bắt đầu với những công cụ bạn có thể chạy mà không cần cài đặt gì, sau đó đề cập đến các máy chủ JVM độc lập và kết thúc với lộ trình tích hợp thông qua Apidog CLI. Mọi lệnh cài đặt và lệnh giả lập bên dưới đều đã được kiểm tra với tài liệu chính thức của từng công cụ. Nếu bạn muốn tìm hiểu rộng hơn ngoài dòng lệnh, tổng hợp các công cụ giả lập API tốt nhất cũng bao gồm các tùy chọn GUI và dịch vụ lưu trữ.

nút

Điều gì khiến một công cụ giả lập CLI trở nên “nhẹ”

“Nhẹ” (Lightweight) nói về dung lượng và sự cản trở, không phải số lượng tính năng. Khi bạn so sánh các công cụ này, hãy cân nhắc bốn điều:

Các công cụ được sắp xếp từ nhỏ nhất và nhanh nhất trước tiên. Prism, Mockoon CLI và json-server là những công cụ bạn có thể chạy bằng `npx` mà không cần cài đặt toàn cục.

Prism (Stoplight)

Prism biến một tệp OpenAPI thành một máy chủ giả lập hoạt động chỉ với một lệnh. Nếu bạn đã có một đặc tả, đây là công cụ giả lập ít tốn công sức nhất trong danh sách; nó đọc các `paths`, `examples` và schemas của bạn, sau đó phục vụ các phản hồi phù hợp với chúng.

npx @stoplight/prism-cli mock ./openapi.yaml

Lệnh trên khởi động một máy chủ trên `http://127.0.0.1:4010` với mọi hoạt động trong đặc tả của bạn được kết nối. Prism trả về `example` mà bạn đã định nghĩa cho một phản hồi, hoặc tạo một phản hồi ngẫu nhiên hợp lệ từ schema nếu bạn không định nghĩa. Nó cũng xác thực các yêu cầu đến so với đặc tả, vì vậy một lệnh gọi bị định dạng sai sẽ nhận được `422` thích hợp thay vì âm thầm bỏ qua. Để cài đặt toàn cục, hãy sử dụng `npm install -g @stoplight/prism-cli` và bỏ qua `npx`.

Tốt nhất cho: các nhóm ưu tiên đặc tả muốn giả lập phải trung thực với hợp đồng. Prism được cấp phép Apache-2.0 và hỗ trợ OpenAPI 3.1, 3.0, 2.0 và Postman collections.

Hạn chế thực tế: Prism không có trạng thái. Một yêu cầu `POST` không lưu trữ bất cứ điều gì, vì vậy nó sẽ không giả lập một luồng tạo-sau-đó-đọc. Giả lập của nó chỉ tốt như đặc tả của bạn; các ví dụ mỏng có nghĩa là phản hồi mỏng. Đối với giả lập chính xác hợp đồng, đó chính xác là điểm mấu chốt, và nó kết hợp tốt với quy trình làm việc của các công cụ giả lập REST API.

Mockoon CLI

Mockoon CLI chạy một API giả lập từ một tệp dữ liệu, có thể là tệp bạn đã xuất từ ứng dụng Mockoon desktop miễn phí hoặc một đặc tả OpenAPI thuần túy. Ứng dụng desktop cho phép bạn xây dựng các tuyến đường một cách trực quan; CLI chạy cùng một môi trường đó mà không cần giao diện người dùng (headless) trong CI hoặc trên máy chủ.

npx @mockoon/cli start --data ./mockoon-env.json --port 3000

Trỏ `--data` đến một tệp môi trường Mockoon hoặc một tệp OpenAPI JSON/YAML và nó sẽ phục vụ ngay lập tức. Nếu tệp dữ liệu đến từ một phiên bản Mockoon cũ hơn, CLI sẽ di chuyển nó trong bộ nhớ mà không ảnh hưởng đến tệp gốc. Cài đặt toàn cục với `npm install -g @mockoon/cli` nếu bạn muốn một lệnh `mockoon-cli` liên tục.

Tốt nhất cho: các nhóm muốn thiết kế giả lập trong GUI nhưng chạy chúng ở chế độ headless. Nó được cấp phép MIT và có một Docker image chính thức để triển khai.

Hạn chế thực tế: các tuyến đường phong phú nhất được xây dựng trong ứng dụng desktop, vì vậy việc chỉnh sửa thủ công tệp môi trường JSON khá phức tạp. Nếu bạn không muốn bất kỳ ứng dụng đồng hành nào, Prism hoặc json-server giữ mọi thứ trong một tệp duy nhất mà bạn tự viết.

json-server

json-server là cách nhanh nhất để giả lập một REST API khi bạn chưa có đặc tả. Bạn viết một tệp JSON thuần túy mô tả dữ liệu của mình, và nó sẽ tạo ra một REST API hoàn chỉnh xung quanh đó, với `GET`, `POST`, `PUT`, `PATCH` và `DELETE`.

echo '{ "posts": [{ "id": 1, "title": "hello" }] }' > db.json
npx json-server db.json

Lệnh trên phục vụ `http://localhost:3000/posts` với các thao tác CRUD thực tế. Một yêu cầu `POST` đến `/posts` thực sự thêm một bản ghi và ghi nó trở lại `db.json`, vì vậy bạn có được hành vi có trạng thái miễn phí, điều mà Prism và WireMock sẽ không cung cấp sẵn. Bạn cũng có thể lọc, sắp xếp và phân trang thông qua các tham số truy vấn. Dòng 1.x hiện tại theo dõi tệp và tải lại khi thay đổi theo mặc định; cài đặt toàn cục với `npm install -g json-server` nếu bạn muốn nó luôn có trong `PATH` của mình.

Tốt nhất cho: các nhà phát triển giao diện người dùng cần một phần phụ trợ REST hoạt động trong một phút, trước khi API thực tế tồn tại. Nó được cấp phép MIT và là một trong các tùy chọn máy chủ giả lập nhẹ cho RESTful API không cần đặc tả.

Hạn chế thực tế: nó giả định một hình dạng REST theo kiểu tài nguyên. Các tuyến đường tùy chỉnh sâu, các điểm cuối không phải REST hoặc khớp tiêu đề nghiêm ngặt nằm ngoài khả năng của nó một cách sạch sẽ. Nó là một công cụ tạo mẫu, không phải công cụ xác thực hợp đồng.

MockServer

MockServer là công cụ nặng ký để khớp yêu cầu chính xác. Trong khi các công cụ trên phục vụ một đặc tả hoặc một tệp dữ liệu, MockServer cho phép bạn định nghĩa các kỳ vọng: khớp một yêu cầu bằng phương thức, đường dẫn, tiêu đề, truy vấn hoặc nội dung, sau đó trả về chính xác phản hồi bạn muốn, bao gồm cả độ trễ và lỗi để kiểm tra thời gian chờ và xử lý lỗi.

java -jar mockserver-netty-5.15.0-no-dependencies.jar -p 1080

Lệnh trên khởi động MockServer trên cổng `1080`. Sau đó, bạn gửi các kỳ vọng đến API REST của nó để cấu hình hành vi, hoặc điều khiển nó theo chương trình. Người dùng Node có thể bỏ qua tệp jar thô và sử dụng trình bao bọc chính thức:

npm install mockserver-node
const mockserver = require('mockserver-node');
mockserver.start_mockserver({ serverPort: 1080 });

Tốt nhất cho: các kiểm thử tích hợp cần kiểm soát chi tiết về cách một yêu cầu phải trông như thế nào và cách mock phản hồi. Nó được cấp phép Apache-2.0 và hỗ trợ HTTP, HTTPS và nhiều hơn nữa trên một cổng duy nhất.

Hạn chế thực tế: nó là một máy chủ JVM, vì vậy nó nặng hơn và khởi động chậm hơn so với các công cụ Node, và việc thiết lập kỳ vọng phức tạp hơn là trỏ vào một đặc tả. Nếu bạn chỉ cần một đặc tả được phục vụ, đó là quá mức cần thiết; nếu bạn vượt quá khả năng của nó, so sánh các lựa chọn thay thế MockServer sẽ trình bày các đánh đổi.

WireMock (độc lập)

WireMock là một máy chủ giả lập JVM lâu đời khác, phổ biến trong thế giới kiểm thử Java và JVM. Tệp jar độc lập của nó chạy cùng một engine mà bạn sẽ nhúng vào một bài kiểm thử JUnit, vì vậy một mock bạn xây dựng trong quá trình phát triển cục bộ sẽ trực tiếp được chuyển vào bộ kiểm thử của bạn.

java -jar wiremock-standalone.jar --port 8080

Lệnh trên phục vụ trên cổng `8080`. WireMock đọc các ánh xạ stub từ một thư mục `mappings/` hoặc API JSON của nó, và nó cũng có thể ghi lại lưu lượng truy cập thực và phát lại nó dưới dạng stub, điều này rất tiện lợi khi bạn giả lập một API của bên thứ ba mà bạn không kiểm soát. Có một Docker image chính thức `wiremock/wiremock` cho CI.

Tốt nhất cho: các nhóm JVM muốn một engine giả lập duy nhất được chia sẻ giữa phát triển cục bộ và bộ kiểm thử của họ, cộng với khả năng ghi lại và phát lại. Nó được cấp phép Apache-2.0.

Hạn chế thực tế: giống như MockServer, nó cần một môi trường chạy Java và khởi động chậm hơn so với các tùy chọn Node. JSON ánh xạ stub của nó mạnh mẽ nhưng phức tạp hơn để học so với một mock dữ liệu một tệp. Nếu bạn đến từ phía JavaScript, so sánh các lựa chọn thay thế Mock Service Worker (MSW) bao gồm vị trí của WireMock so với mocking ưu tiên trình duyệt.

Apidog CLI

Mỗi công cụ trên chỉ giải quyết một khía cạnh của việc giả lập. Apidog đi theo con đường tích hợp: thiết kế API, giả lập, kiểm thử và tài liệu của bạn nằm trong một dự án, và Apidog CLI điều khiển dự án đó từ terminal. Apidog không phải mã nguồn mở; nó là một sản phẩm thương mại với một gói miễn phí. Nhưng gói miễn phí đó cùng với CLI mang đến cho bạn một lựa chọn thay thế cho việc ghép nối một máy chủ giả lập, trình chạy kiểm thử và công cụ đặc tả riêng biệt.

Apidog tự động tạo một mock thông minh từ mỗi điểm cuối bạn định nghĩa, với các phản hồi tuân theo các kiểu trường và cách đặt tên của schema, vì vậy một trường `phone` trả về một số điện thoại có vẻ hợp lý thay vì một chuỗi ngẫu nhiên. Khi bạn cần một phản hồi cụ thể cho một yêu cầu cụ thể, bạn thêm một kỳ vọng giả lập. CLI quản lý các tài nguyên giả lập đó như một phần của dự án:

npm install -g apidog-cli
apidog login --with-token <YOUR_TOKEN>
apidog mock --help

Nhóm lệnh `mock` hoạt động với các kỳ vọng giả lập của dự án từ các script và CI, cùng với các nhóm lệnh cho điểm cuối, schemas, môi trường và các lần chạy kiểm thử. Đầu ra là JSON có cấu trúc với trường `agentHints.nextSteps`, giúp nó có thể được sử dụng bởi các tác nhân AI cũng như con người. Bề mặt lệnh đầy đủ được đề cập trong hướng dẫn hoàn chỉnh Apidog CLI.

Tốt nhất cho: các nhóm muốn giữ mock, đặc tả và kiểm thử ở một nơi thay vì chạy ba công cụ riêng biệt. Tải xuống Apidog để thử máy chủ giả lập tích hợp và CLI trên dự án của riêng bạn.

Hạn chế thực tế: nó là một nền tảng, không phải một tệp thực thi đơn lẻ, vì vậy nó yêu cầu một dự án và đăng nhập trong khi json-server không yêu cầu gì. Nếu tất cả những gì bạn cần là một mock dùng một lần từ một tệp, một công cụ nhẹ hơn sẽ thắng; nếu bạn đã thiết kế API của mình trong Apidog, thì mock đã có sẵn ở đó.

Cách chọn

Hãy chọn công cụ phù hợp với những gì bạn đã có. Nếu bạn có một đặc tả OpenAPI, Prism hoặc Mockoon CLI sẽ phục vụ nó trực tiếp. Nếu bạn chưa có gì, json-server sẽ tạo ra một API từ một tệp JSON. Nếu bạn cần khớp yêu cầu chính xác, hãy tìm đến MockServer hoặc WireMock. Nếu bạn muốn mock nằm cạnh thiết kế và các bài kiểm thử của mình, hãy sử dụng Apidog.

Công cụ Tốt nhất cho Cài đặt Mã nguồn mở? Ghi chú
Prism Phục vụ một đặc tả OpenAPI dưới dạng mock npx @stoplight/prism-cli Có (Apache-2.0) Chính xác hợp đồng, không trạng thái, cổng 4010
Mockoon CLI Mock được xây dựng bằng GUI chạy ở chế độ headless npx @mockoon/cli Có (MIT) Đọc tệp env hoặc OpenAPI, có Docker image
json-server REST API tức thì từ JSON npx json-server Có (MIT) CRUD có trạng thái, không cần đặc tả, cổng 3000
MockServer Khớp yêu cầu chính xác java -jar mockserver-netty-*.jar Có (Apache-2.0) JVM, có sẵn trình bao bọc npm, cổng 1080
WireMock Đội JVM dev + test chia sẻ một engine java -jar wiremock-standalone.jar Có (Apache-2.0) Ghi và phát lại, có Docker image, cổng 8080
Apidog CLI Mock, đặc tả và kiểm thử trong một dự án npm install -g apidog-cli Không (gói miễn phí) Mock thông minh tự động + kỳ vọng được quản lý

Quy tắc chung: các công cụ `npx` cho tốc độ, máy chủ JVM cho độ sâu khớp, Apidog khi bạn muốn một quy trình làm việc thay vì nhiều quy trình. Nếu bạn vẫn đang quyết định có nên giả lập hay không, hướng dẫn về các trường hợp sử dụng giả lập API sẽ chỉ ra khi nào nó mang lại lợi ích.

Tổng kết

Giả lập nhẹ nhàng (lightweight mocking) quy về một câu hỏi: bạn đã có gì để cung cấp cho công cụ? Một đặc tả sẽ đi đến Prism hoặc Mockoon CLI. Một trang trắng sẽ đi đến json-server. Khớp nghiêm ngặt sẽ đi đến MockServer hoặc WireMock. Và nếu bạn không muốn chạy và kết nối nhiều công cụ, Apidog giữ mock bên cạnh thiết kế và các bài kiểm thử, được điều khiển từ cùng một CLI mà bạn sẽ viết script anyway.

Tất cả sáu công cụ đều chạy từ terminal, phù hợp với một tác vụ CI và cung cấp cho bạn một API giả trong vài giây thay vì hàng giờ. Chọn công cụ nhỏ nhất bao phủ trường hợp của bạn, và chỉ thêm trọng lượng khi bạn thực sự cần. Để xem phiên bản tích hợp, Tải xuống Apidog và tạo một máy chủ giả lập từ thiết kế API của bạn chỉ trong một bước.

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