หากคุณเคยต้องการปลายทาง API ปลอมที่ส่งคืนเนื้อหา JSON รหัสสถานะ และส่วนหัวที่เฉพาะเจาะจง โดยไม่ต้องตั้งเซิร์ฟเวอร์ขึ้นมา คุณอาจเคยค้นหา Mocky คู่มือนี้จะอธิบายว่า Mocky คืออะไร ใช้อย่างไร และเมื่อไหร่ที่คุณจะใช้งานจนเกินความสามารถของมัน หากคุณต้องการภาพรวมที่กว้างขึ้นก่อนหน้านี้ การรวบรวม เครื่องมือจำลอง API ออนไลน์ของเราที่เปรียบเทียบกัน ครอบคลุมถึงเรื่องนี้ และ ที่เก็บโอเพนซอร์สของ Mocky เองก็ยืนยันพื้นฐานเหล่านี้
Mocky คืออะไร?
Mocky เป็นบริการเว็บโอเพนซอร์สฟรีสำหรับสร้างการตอบกลับ HTTP แบบกำหนดเอง คุณออกแบบการตอบกลับในเบราว์เซอร์ของคุณ Mocky จะให้ URL ที่ไม่ซ้ำกันแก่คุณ และการร้องขอใดๆ ไปยัง URL นั้นจะส่งคืนสิ่งที่คุณกำหนดไว้ทุกประการ ไม่มีส่วนหลังบ้านให้เขียนและไม่มีเซิร์ฟเวอร์ให้โฮสต์
มันถูกสร้างขึ้นโดย Julien Lafont และเผยแพร่ภายใต้ใบอนุญาต Apache 2.0 เวอร์ชันที่โฮสต์อยู่บน mocky.io และเนื่องจากโค้ดเป็นสาธารณะ คุณจึงสามารถโฮสต์ด้วยตัวเองได้หากต้องการรันอินสแตนซ์ของคุณเอง
แนวคิดหลักนั้นเรียบง่าย คุณกำลัง "ออกแบบการตอบกลับเบื้องหลัง URL" นั่นคือผลิตภัณฑ์ทั้งหมด และการมุ่งเน้นนี้คือจุดแข็งที่ใหญ่ที่สุดของมัน
สิ่งที่คุณสามารถกำหนดค่าได้
Mocky ให้คุณตั้งค่าส่วนต่างๆ ของการตอบกลับ HTTP ที่สำคัญสำหรับการทดสอบไคลเอนต์:
- รหัสสถานะ (Status code) เพื่อให้คุณสามารถส่งคืน
200,404หรือ500ได้ตามต้องการ - เนื้อหาการตอบกลับ (Response body) โดยปกติจะเป็น JSON แต่เพย์โหลดข้อความใดๆ ก็ใช้งานได้
- ส่วนหัว HTTP (HTTP headers) รวมถึงประเภทเนื้อหาและส่วนหัวที่กำหนดเอง
- การหน่วงเวลาการตอบกลับ (Response delay) เพื่อให้คุณสามารถจำลองเครือข่ายที่ช้าหรือระบบต้นทางที่ล่าช้าได้
เมื่อคุณบันทึก Mocky จะจัดเก็บการตอบกลับและมอบ URL ถาวรให้คุณ คุณวาง URL นั้นลงในโค้ดส่วนหน้าของคุณ การทดสอบของคุณ หรือไคลเอนต์ HTTP ของคุณ เท่านี้ก็เรียบร้อย
ตัวอย่างสั้นๆ
สมมติว่าส่วนหลังบ้านของคุณยังไม่พร้อม แต่ส่วนหน้าบ้านของคุณต้องการวัตถุผู้ใช้เพื่อแสดงผล คุณจะเปิดตัวออกแบบ Mocky ตั้งค่าสถานะเป็น 200 ตั้งค่า Content-Type: application/json และวางเนื้อหาเช่นนี้:
{
"id": 42,
"name": "Ada Lovelace",
"role": "admin"
}
Mocky จะส่งคืน URL เช่น https://run.mocky.io/v3/<some-id> ชี้แอปของคุณไปที่มัน และทุกการร้องขอจะได้รับข้อมูลผู้ใช้คนนั้นกลับมา สำหรับภาพรวมที่กว้างขึ้นของรูปแบบนี้ โปรดดูคำอธิบายของเราเกี่ยวกับ วิธีการจำลอง API ออนไลน์โดยไม่ต้องตั้งค่าเซิร์ฟเวอร์
เมื่อ Mocky เป็นทางเลือกที่เหมาะสม
Mocky โดดเด่นเมื่อความต้องการของคุณมีน้อยและเป็นแบบครั้งเดียวจบ:
- คุณต้องการการตอบกลับแบบคงที่เพียงครั้งเดียวอย่างรวดเร็ว โดยไม่ต้องมีบัญชี
- คุณกำลังแบ่งปันเพย์โหลดที่คงที่กับเพื่อนร่วมทีมหรือสำหรับตั๋วสนับสนุน
- คุณกำลังจำลองข้อผิดพลาดกรณีเดียว เช่น การตอบกลับข้อผิดพลาดภายในเซิร์ฟเวอร์ 500 สำหรับรายงานข้อบกพร่อง
- คุณไม่ต้องการให้การตอบกลับเปลี่ยนแปลงตามการร้องขอ
สำหรับงานเหล่านี้ Mocky เป็นสิ่งที่ยากจะเอาชนะได้ มันฟรี โหลดในเบราว์เซอร์ และคุณสามารถมี URL ที่ใช้งานได้ภายในไม่ถึงนาที อย่าออกแบบเกินความจำเป็นสำหรับปัญหาขนาดนี้
จุดที่ Mocky เริ่มมีปัญหา
ความเรียบง่ายที่ทำให้ Mocky ยอดเยี่ยมก็เป็นข้อจำกัดของมันด้วยเช่นกัน URL ของ Mocky แต่ละอันคือการตอบกลับที่คงที่เพียงครั้งเดียว เมื่อโปรเจกต์ของคุณเติบโตขึ้น โมเดลนั้นจะเริ่มบางลงในไม่กี่วิธีที่คาดเดาได้
- ไม่มีข้อมูลแบบไดนามิก ผู้เรียกทุกคนจะได้รับเนื้อหาที่เหมือนกัน คุณไม่สามารถคืนค่าผู้ใช้ที่แตกต่างกันสำหรับ
/users/1เทียบกับ/users/2และคุณไม่สามารถสร้างข้อมูลที่สมจริงและหลากหลายได้ - ไม่มีการจับคู่คำขอ Mocky ไม่ได้แยกตามพารามิเตอร์การสอบถาม ค่าเส้นทาง หรือเนื้อหาคำขอ หนึ่ง URL หนึ่งคำตอบ
- การจัดระเบียบที่ไม่เป็นระเบียบ API จริงมีปลายทางหลายสิบแห่ง การจัดการสิ่งเหล่านี้เป็นกองลิงก์ Mocky ที่แยกจากกันจะยุ่งเหยิงอย่างรวดเร็ว
- การทำงานร่วมกันที่จำกัด ไม่มีพื้นที่ทำงานร่วมกัน ไม่มีเวอร์ชัน และไม่มีสิทธิ์ของทีมเกี่ยวกับ mock ของคุณ
- ไม่มีการเชื่อมโยง schema mock ของคุณและสเปค OpenAPI ของคุณอยู่คนละที่กัน ทำให้มันแยกจากกัน
เมื่อคุณประสบปัญหาเหล่านี้สองหรือสามข้อ คุณก็ใช้งานเครื่องมือที่ตอบกลับครั้งเดียวเกินความสามารถแล้ว นั่นคือจุดที่ต้องย้ายไปใช้แพลตฟอร์ม mock ที่สมบูรณ์ หากคุณกำลังชั่งน้ำหนักเรื่องงบประมาณ คู่มือเซิร์ฟเวอร์ mock API ฟรีและราคาถูก ของเราจะเสนอทางเลือกต่างๆ
ตัวกระตุ้นที่พบบ่อยคือทีมส่วนหน้า นักพัฒนาคนหนึ่งจำลองวัตถุผู้ใช้ อีกคนจำลองรายการคำสั่งซื้อ คนที่สามจำลองการไหลของข้อมูลการยืนยันตัวตน ด้วย Mocky สิ่งเหล่านี้คือลิงก์สามลิงก์ที่ไม่เกี่ยวข้องกัน ไม่มี URL พื้นฐานที่ใช้ร่วมกัน และไม่มีวิธีสลับสภาพแวดล้อม แต่ด้วยเซิร์ฟเวอร์ mock จริง สิ่งเหล่านี้คือปลายทางสามแห่งในโปรเจกต์เดียวที่ตอบกลับภายใต้โฮสต์เดียว และคุณสามารถสลับไปมาระหว่างข้อมูลการจัดเตรียมและข้อมูลการผลิตได้ในที่เดียว
ทางเลือก Mocky ที่ดีที่สุด: Apidog
Apidog รักษาคุณสมบัติที่ดีที่สุดของ Mocky ไว้ คือการตอบกลับแบบกำหนดเองเบื้องหลัง URL ที่แชร์ได้ จากนั้นก็เพิ่มสิ่งที่ Mocky ไม่มี: การคงอยู่ของข้อมูลในหลายปลายทาง ข้อมูลที่ขับเคลื่อนด้วย Schema การตอบกลับแบบไดนามิก และการทำงานร่วมกันเป็นทีม คุณออกแบบปลายทาง และ Apidog จะสร้าง URL mock ที่โฮสต์ซึ่งส่งคืนรหัสสถานะที่กำหนดเอง ส่วนหัว และเนื้อหา JSON ได้เหมือนกับ Mocky แต่เชื่อมโยงกับการออกแบบ API ที่แท้จริงของคุณ
นี่คือความแตกต่างที่ซื่อสัตย์ Mocky ตอบคำถามว่า "ให้การตอบกลับที่คงที่หนึ่งรายการ ฟรี ทันที" Apidog ตอบคำถามว่า "ให้ mock ที่น่าเชื่อถือของ API ทั้งหมดที่เติบโตไปพร้อมกับโปรเจกต์ของฉัน"
คุณสมบัติบางอย่างที่ Apidog เพิ่มเติมจากกรณีการใช้งานของ Mocky:
- Smart mock และข้อมูลที่สร้างโดย AI แทนที่จะเขียนโค้ดเนื้อหาเดียว Apidog สามารถอนุมานค่าที่สมจริงจากชื่อฟิลด์และ Schema ของคุณได้ ดังนั้น
emailจะส่งคืนอีเมลและcreatedAtจะส่งคืนวันที่ - รองรับ Faker.js คุณสามารถเสียบ Faker.js เพื่อสร้างข้อมูล mock แบบไดนามิก สำหรับเพย์โหลดที่หลากหลายและสมจริงในการเรียกแต่ละครั้ง
- กฎ mock ขั้นสูง ส่งคืนการตอบกลับที่แตกต่างกันตามพารามิเตอร์การสอบถามหรือเนื้อหาคำขอ ซึ่งเป็นการจับคู่คำขอที่ Mocky ทำไม่ได้
- การจำลองแบบ Schema-first mock ของคุณถูกสร้างขึ้นจากการออกแบบ OpenAPI ของคุณ ดังนั้นทั้งสองจึงซิงค์กันอยู่เสมอ
- พื้นที่ทำงานของทีม mocks อยู่ในโปรเจกต์ที่ใช้ร่วมกันพร้อมการควบคุมเวอร์ชันและการซิงค์แบบเรียลไทม์ ไม่ใช่กระจัดกระจายอยู่ในลิงก์แบบครั้งเดียว
คุณยังคงได้รับส่วนที่เรียบง่ายอยู่ ต้องการปลายทางเดียวที่ส่งคืน 200 พร้อมเนื้อหา JSON ที่คงที่เบื้องหลัง URL หรือไม่? Apidog ก็ทำได้เช่นกัน และคุณสามารถแชร์กับทีมของคุณได้ในคลิกเดียว
Mocky vs Apidog: ภาพรวม
| ความสามารถ | Mocky | Apidog |
|---|---|---|
| รหัสสถานะ, ส่วนหัว, เนื้อหาที่กำหนดเองเบื้องหลัง URL | มี | มี |
| เริ่มใช้งานฟรี ไม่ต้องตั้งค่า | มี | มี (แพลนฟรี) |
| การตอบกลับแบบคงที่เพียงครั้งเดียว | มี | มี |
| ข้อมูลแบบไดนามิก (Faker.js, smart mock) | ไม่มี | มี |
| การจับคู่คำขอ / กฎเงื่อนไข | ไม่มี | มี |
| หลายปลายทางในโปรเจกต์เดียว | ไม่มี | มี |
| Mocks ที่ขับเคลื่อนด้วย Schema (OpenAPI) | ไม่มี | มี |
| พื้นที่ทำงานของทีม + การควบคุมเวอร์ชัน | ไม่มี | มี |
| ตัวเลือกโฮสต์ด้วยตัวเอง | มี (โอเพนซอร์ส) | ตัวเลือก Cloud + โฮสต์ด้วยตัวเอง |
หากคุณต้องการเปรียบเทียบผู้เข้าแข่งขันเพิ่มเติมแบบเคียงข้างกัน รายการ เครื่องมือจำลอง API ที่ดีที่สุด และ การรวบรวมเครื่องมือจำลองปลายทาง REST ของเราจะลงรายละเอียดลึกกว่านี้
วิธีแทนที่ URL ของ Mocky ใน Apidog
การย้ายออกจากลิงก์ Mocky เดี่ยวทำได้รวดเร็ว:
- ดาวน์โหลด Apidog และสร้างโปรเจกต์
- เพิ่มปลายทาง ตัวอย่างเช่น
GET /users/42 - กำหนดการตอบกลับ: ตั้งค่ารหัสสถานะ เพิ่มส่วนหัว และเขียนเนื้อหา JSON ซึ่งเป็นฟิลด์เดียวกับที่คุณจะพิมพ์ลงใน Mocky
- เปิดใช้งาน mock Apidog จะสร้าง URL mock ที่โฮสต์สำหรับปลายทางนั้น
- ชี้ส่วนหน้าหรือการทดสอบของคุณไปยัง URL ใหม่
จากนั้นคุณสามารถเพิ่มคุณสมบัติเสริม ข้อมูลไดนามิก กฎเงื่อนไข ปลายทางเพิ่มเติมได้ทุกเมื่อที่ต้องการ คุณไม่จำเป็นต้องใช้คุณสมบัติขั้นสูงตั้งแต่วันแรก
การย้ายข้อมูลไม่ค่อยเกิดขึ้นพร้อมกันทั้งหมด ทีมส่วนใหญ่จะรักษาลิงก์ Mocky ที่มีอยู่ให้ใช้งานได้ในขณะที่พวกเขาสร้างปลายทางที่สำคัญขึ้นใหม่ใน Apidog จากนั้นจึงยกเลิก URL เก่าเมื่อโปรเจกต์มารวมกันอยู่ในที่เดียว เนื่องจาก Apidog สามารถอ่านไฟล์ OpenAPI ได้ หากคุณมีสเปคอยู่แล้ว คุณสามารถนำเข้ามันและรับ URL mock สำหรับทุกปลายทางได้พร้อมกัน แทนที่จะสร้างการตอบกลับแต่ละรายการด้วยตนเอง
คำถามที่พบบ่อย
Mocky ฟรีหรือไม่?
ใช่ Mocky ฟรีและเป็นโอเพนซอร์สภายใต้ใบอนุญาต Apache 2.0 และคุณไม่จำเป็นต้องมีบัญชีเพื่อสร้าง mock การตอบกลับจะถูกจัดเก็บไว้ฝั่งเซิร์ฟเวอร์ ดังนั้น URL ที่คุณได้รับจะยังคงใช้งานได้ หากคุณต้องการมากกว่าการตอบกลับแบบคงที่เพียงครั้งเดียว แพลตฟอร์มที่สมบูรณ์กว่าเช่น Apidog มีแพลนฟรีพร้อมข้อมูลไดนามิกและคุณสมบัติสำหรับทีม
อะไรคือความแตกต่างระหว่าง mocky.io กับ mock server?
URL ของ Mocky คือการตอบกลับแบบสำเร็จรูปหนึ่งรายการ ส่วน mock server จะจำลอง API ทั้งหมด โดยมีปลายทางหลายแห่ง การจับคู่คำขอ และข้อมูลที่สามารถเปลี่ยนแปลงได้ตามคำขอ หากคุณเพิ่งเริ่มทำความเข้าใจแนวคิดนี้ คำอธิบายของเราเกี่ยวกับ mock API คืออะไร จะพาคุณทำความเข้าใจตั้งแต่พื้นฐาน
ฉันสามารถส่งคืนรหัสสถานะและส่วนหัวที่กำหนดเองด้วย Mocky ได้หรือไม่?
ได้ นั่นคือสิ่งที่ Mocky มีไว้เพื่อการนั้น คุณตั้งค่ารหัสสถานะ เพิ่มส่วนหัวที่คุณต้องการ เขียนเนื้อหา และ Mocky จะให้บริการทั้งหมดนี้จาก URL เดียว ข้อจำกัดคือมันเป็นการตอบกลับแบบเดิมเสมอ โดยไม่คำนึงถึงคำขอ
ฉันควรเปลี่ยนจาก Mocky ไปใช้แพลตฟอร์ม mock ที่สมบูรณ์เมื่อใด?
เปลี่ยนเมื่อคุณต้องการมากกว่าคำตอบที่คงที่เพียงรายการเดียว: ข้อมูลแบบไดนามิกหรือสมจริง การตอบกลับตามเงื่อนไข ปลายทางหลายแห่งที่จัดระเบียบร่วมกัน หรือพื้นที่ทำงานที่ใช้ร่วมกันสำหรับทีมของคุณ จนกว่าจะถึงตอนนั้น ความเรียบง่ายของ Mocky ถือเป็นคุณสมบัติ ไม่ใช่ข้อบกพร่อง
สรุป
Mocky เป็นวิธีที่สะอาดและฟรีในการวางการตอบกลับ HTTP ที่กำหนดเองไว้เบื้องหลัง URL และสำหรับความต้องการแบบคงที่ที่รวดเร็ว มันคือเครื่องมือที่เหมาะสม ทันทีที่คุณต้องการข้อมูลไดนามิก การจับคู่คำขอ ปลายทางหลายแห่ง หรือการทำงานร่วมกันเป็นทีม โมเดลการตอบกลับเดียวก็ไม่เพียงพออีกต่อไป
นั่นคือจุดที่ Apidog เข้ามาสานต่อ มันครอบคลุมงาน "ออกแบบการตอบกลับเบื้องหลัง URL" แบบเดียวกัน จากนั้นก็ขยายขนาดไปสู่การจำลองแบบที่ขับเคลื่อนด้วย schema มีความไดนามิก และทำงานร่วมกันได้เมื่อ API ของคุณเติบโตขึ้น ดาวน์โหลด Apidog เพื่อสร้าง URL mock แรกของคุณได้ฟรี และรักษามันไว้เมื่อโปรเจกต์ของคุณใหญ่ขึ้น
