Nếu bạn đã từng cần một API endpoint giả trả về nội dung JSON, mã trạng thái và tiêu đề cụ thể mà không cần phải thiết lập máy chủ, bạn có thể đã tìm kiếm Mocky. Hướng dẫn này giải thích Mocky là gì, cách sử dụng nó và khi nào bạn sẽ vượt qua giới hạn của nó. Nếu bạn muốn có cái nhìn tổng quan hơn trước, bài tổng hợp của chúng tôi về các công cụ API mocking trực tuyến được so sánh sẽ bao quát lĩnh vực này, và kho lưu trữ mã nguồn mở của Mocky cũng xác nhận các nguyên tắc cơ bản.
Mocky là gì?
Mocky là một dịch vụ web miễn phí, mã nguồn mở để tạo các phản hồi HTTP tùy chỉnh. Bạn thiết kế một phản hồi trong trình duyệt của mình, Mocky cung cấp cho bạn một URL duy nhất và bất kỳ yêu cầu nào đến URL đó sẽ trả về chính xác những gì bạn đã định nghĩa. Không cần viết backend và không cần máy chủ để lưu trữ.
Nó được Julien Lafont xây dựng và phát hành theo giấy phép Apache 2.0. Phiên bản được lưu trữ nằm tại mocky.io, và vì mã nguồn công khai, bạn cũng có thể tự lưu trữ nó nếu bạn muốn chạy phiên bản của riêng mình.
Ý tưởng cốt lõi rất đơn giản. Bạn đang "thiết kế một phản hồi đằng sau một URL." Đó là toàn bộ sản phẩm, và sự tập trung đó là thế mạnh lớn nhất của nó.
Những gì bạn có thể cấu hình
Mocky cho phép bạn thiết lập các phần của phản hồi HTTP quan trọng cho việc kiểm thử client:
- Mã trạng thái, để bạn có thể trả về một
200, một404, hoặc một500theo yêu cầu. - Nội dung phản hồi, thường là JSON, nhưng bất kỳ nội dung văn bản nào cũng hoạt động.
- Tiêu đề HTTP, bao gồm loại nội dung và các tiêu đề tùy chỉnh.
- Độ trễ phản hồi, để bạn có thể mô phỏng một mạng chậm hoặc một đường truyền ngược bị trễ.
Sau khi bạn lưu, Mocky sẽ lưu trữ phản hồi và cung cấp cho bạn một URL vĩnh viễn. Bạn dán URL đó vào mã frontend, bài kiểm thử hoặc HTTP client của mình là hoàn tất.
Một ví dụ nhanh
Giả sử backend của bạn chưa sẵn sàng, nhưng frontend của bạn cần một đối tượng người dùng để hiển thị. Bạn sẽ mở trình thiết kế Mocky, đặt trạng thái là 200, đặt Content-Type: application/json, và dán nội dung như sau:
{
"id": 42,
"name": "Ada Lovelace",
"role": "admin"
}
Mocky trả về một URL như https://run.mocky.io/v3/<some-id>. Hướng ứng dụng của bạn đến đó, và mọi yêu cầu sẽ nhận lại người dùng đó. Để có cái nhìn rộng hơn về mô hình này, hãy xem giải thích của chúng tôi về cách mock API trực tuyến mà không cần thiết lập máy chủ.
Khi Mocky là lựa chọn phù hợp
Mocky phát huy hiệu quả khi nhu cầu của bạn nhỏ và chỉ dùng một lần:
- Bạn muốn một phản hồi tĩnh duy nhất, nhanh chóng, không cần tài khoản.
- Bạn đang chia sẻ một payload cố định với đồng đội hoặc trong một yêu cầu hỗ trợ.
- Bạn đang tái hiện một trường hợp lỗi, chẳng hạn như phản hồi lỗi máy chủ nội bộ 500, cho một báo cáo lỗi.
- Bạn không cần phản hồi thay đổi dựa trên yêu cầu.
Đối với những công việc này, Mocky rất khó bị đánh bại. Nó miễn phí, tải trong trình duyệt và bạn có thể có một URL hoạt động trong vòng chưa đầy một phút. Đừng quá phức tạp hóa một vấn đề nhỏ như thế này.
Những hạn chế của Mocky
Sự đơn giản làm nên thành công của Mocky cũng là giới hạn của nó. Mỗi URL của Mocky là một phản hồi cố định duy nhất. Khi dự án của bạn phát triển, mô hình đó trở nên kém hiệu quả theo một số cách dễ đoán.
- Không có dữ liệu động. Mọi người gọi đều nhận được cùng một nội dung. Bạn không thể trả về người dùng khác cho
/users/1so với/users/2, và bạn không thể tạo dữ liệu thực tế, đa dạng. - Không khớp yêu cầu. Mocky không phân nhánh dựa trên tham số truy vấn, giá trị đường dẫn hoặc nội dung yêu cầu. Một URL, một câu trả lời.
- Tổ chức lỏng lẻo. Một API thực có hàng chục endpoint. Quản lý chúng như một đống liên kết Mocky riêng biệt sẽ nhanh chóng trở nên lộn xộn.
- Hợp tác hạn chế. Không có không gian làm việc chung, không có quản lý phiên bản và không có quyền nhóm xung quanh các mock của bạn.
- Không liên kết schema. Mock và spec OpenAPI của bạn nằm ở những nơi khác nhau, nên chúng dễ bị lệch lạc.
Khi bạn gặp phải hai hoặc ba trong số những điều này, bạn đã vượt qua giới hạn của một công cụ phản hồi đơn lẻ. Đó là lúc để chuyển sang một nền tảng mock đầy đủ. Nếu bạn đang cân nhắc về chi phí, hướng dẫn về các máy chủ mock API miễn phí và giá rẻ của chúng tôi sẽ trình bày các lựa chọn.
Một yếu tố kích hoạt phổ biến là nhóm front-end. Một nhà phát triển mock đối tượng người dùng, một người khác mock danh sách đơn hàng, người thứ ba mock luồng xác thực. Với Mocky, đó là ba liên kết không liên quan, không có URL cơ sở chung và không có cách nào để hoán đổi môi trường. Với một máy chủ mock thực sự, chúng là ba endpoint trong một dự án đều phản hồi dưới một host duy nhất, và bạn có thể chuyển đổi giữa dữ liệu staging và production ở một nơi.
Giải pháp thay thế Mocky tốt nhất: Apidog
Apidog giữ lại đặc điểm tốt nhất của Mocky, một phản hồi tùy chỉnh đằng sau một URL có thể chia sẻ, sau đó bổ sung những thứ mà Mocky còn thiếu: khả năng duy trì trên nhiều endpoint, dữ liệu dựa trên schema, phản hồi động và cộng tác nhóm. Bạn thiết kế các endpoint, và Apidog tạo ra một URL mock được lưu trữ trả về mã trạng thái, tiêu đề và nội dung JSON tùy chỉnh, giống như Mocky, nhưng được liên kết với thiết kế API thực tế của bạn.
Đây là sự khác biệt chân thực. Mocky trả lời "hãy cho tôi một phản hồi cố định, miễn phí, ngay bây giờ." Apidog trả lời "hãy cho tôi một mock đáng tin cậy của toàn bộ API phát triển cùng với dự án của tôi."
Một số điều Apidog bổ sung so với trường hợp sử dụng của Mocky:
- Mock thông minh và dữ liệu được tạo bởi AI. Thay vì mã hóa cứng một nội dung, Apidog có thể suy luận các giá trị thực tế từ tên trường và schema của bạn, do đó
emailtrả về một email vàcreatedAttrả về một ngày. - Hỗ trợ Faker.js. Bạn có thể tích hợp Faker.js để tạo dữ liệu mock động cho các payload đa dạng, thực tế trên mỗi lệnh gọi.
- Quy tắc mock nâng cao. Trả về các phản hồi khác nhau dựa trên tham số truy vấn hoặc nội dung yêu cầu, điều mà Mocky không thể làm được với khớp yêu cầu.
- Mock dựa trên schema. Mock của bạn được tạo từ thiết kế OpenAPI của bạn, do đó hai thứ luôn đồng bộ.
- Không gian làm việc nhóm. Các mock nằm trong một dự án chia sẻ với kiểm soát phiên bản và đồng bộ hóa thời gian thực, không bị phân tán trên các liên kết một lần.
Bạn vẫn có được phần đơn giản. Cần một endpoint duy nhất trả về 200 với một nội dung JSON cố định đằng sau một URL? Apidog cũng làm được điều đó, và bạn có thể chia sẻ nó với nhóm của mình chỉ bằng một cú nhấp chuột.
So sánh nhanh Mocky và Apidog
| Khả năng | Mocky | Apidog |
|---|---|---|
| Mã trạng thái, tiêu đề, nội dung tùy chỉnh đằng sau một URL | Có | Có |
| Miễn phí để bắt đầu, không cần thiết lập | Có | Có (gói miễn phí) |
| Phản hồi tĩnh duy nhất | Có | Có |
| Dữ liệu động (Faker.js, mock thông minh) | Không | Có |
| Khớp yêu cầu / Quy tắc điều kiện | Không | Có |
| Nhiều endpoint trong một dự án | Không | Có |
| Mock dựa trên Schema (OpenAPI) | Không | Có |
| Không gian làm việc nhóm + quản lý phiên bản | Không | Có |
| Tùy chọn tự lưu trữ | Có (mã nguồn mở) | Tùy chọn Cloud + tự lưu trữ |
Nếu bạn muốn so sánh thêm các đối thủ cạnh tranh, danh sách các công cụ mock API tốt nhất và tổng hợp các công cụ mock endpoint REST của chúng tôi sẽ đi sâu hơn.
Cách thay thế một URL Mocky trong Apidog
Chuyển đổi khỏi một liên kết Mocky duy nhất rất nhanh chóng:
- Tải xuống Apidog và tạo một dự án.
- Thêm một endpoint, ví dụ
GET /users/42. - Định nghĩa phản hồi: đặt mã trạng thái, thêm tiêu đề và viết nội dung JSON, các trường tương tự như bạn đã nhập vào Mocky.
- Bật mock. Apidog tạo một URL mock được lưu trữ cho endpoint đó.
- Hướng frontend hoặc bài kiểm thử của bạn đến URL mới.
Từ đó, bạn có thể bổ sung thêm các tính năng bổ trợ, dữ liệu động, quy tắc điều kiện, nhiều endpoint hơn, bất cứ khi nào bạn cần. Bạn không cần phải sử dụng các tính năng nâng cao ngay từ ngày đầu tiên.
Việc di chuyển hiếm khi diễn ra toàn bộ cùng một lúc. Hầu hết các nhóm vẫn giữ các liên kết Mocky hiện có của họ hoạt động trong khi xây dựng lại các endpoint quan trọng trong Apidog, sau đó loại bỏ các URL cũ khi dự án đã được tập trung vào một nơi. Bởi vì Apidog có thể đọc một tệp OpenAPI, nếu bạn đã có một spec, bạn có thể nhập nó và nhận các URL mock cho mọi endpoint cùng một lúc, thay vì tạo lại từng phản hồi một cách thủ công.
Câu hỏi thường gặp
Mocky có miễn phí không?
Có. Mocky là miễn phí và mã nguồn mở theo giấy phép Apache 2.0, và bạn không cần tài khoản để tạo một mock. Các phản hồi được lưu trữ phía máy chủ, vì vậy URL bạn nhận được vẫn hoạt động. Nếu bạn cần nhiều hơn một phản hồi cố định duy nhất, một nền tảng đầy đủ hơn như Apidog cung cấp cho bạn một gói miễn phí với dữ liệu động và các tính năng nhóm.
Sự khác biệt giữa mocky.io và một máy chủ mock là gì?
Một URL Mocky là một phản hồi được đóng gói sẵn. Một máy chủ mock mô phỏng toàn bộ API, với nhiều endpoint, khớp yêu cầu và dữ liệu có thể thay đổi theo từng yêu cầu. Nếu bạn mới làm quen với khái niệm này, giải thích của chúng tôi về API mock là gì sẽ hướng dẫn bạn từ cơ bản.
Tôi có thể trả về mã trạng thái và tiêu đề tùy chỉnh với Mocky không?
Có. Đó chính xác là mục đích của Mocky. Bạn đặt mã trạng thái, thêm bất kỳ tiêu đề nào bạn muốn, viết nội dung, và Mocky sẽ phục vụ tất cả từ một URL duy nhất. Giới hạn là nó luôn là cùng một phản hồi, bất kể yêu cầu là gì.
Khi nào tôi nên chuyển từ Mocky sang một nền tảng mock đầy đủ?
Chuyển đổi khi bạn cần nhiều hơn một câu trả lời cố định: dữ liệu động hoặc thực tế, phản hồi có điều kiện, nhiều endpoint được tổ chức cùng nhau, hoặc một không gian làm việc chung cho nhóm của bạn. Cho đến lúc đó, sự đơn giản của Mocky là một tính năng, không phải là một lỗi.
Tổng kết
Mocky là một cách sạch sẽ, miễn phí để đặt một phản hồi HTTP tùy chỉnh đằng sau một URL, và đối với những nhu cầu nhanh chóng, tĩnh, nó là công cụ phù hợp. Khoảnh khắc bạn cần dữ liệu động, khớp yêu cầu, nhiều endpoint, hoặc cộng tác nhóm, mô hình phản hồi đơn lẻ đó sẽ không còn phù hợp.
Đó là lúc Apidog phát huy. Nó bao gồm cùng một công việc "thiết kế một phản hồi đằng sau một URL", sau đó mở rộng thành mock dựa trên schema, động và cộng tác khi API của bạn phát triển. Tải xuống Apidog để tạo URL mock đầu tiên của bạn miễn phí và giữ nó khi dự án của bạn lớn hơn.
