วิธี Mock API ใน Apidog โดยไม่ต้องเขียนโค้ด

เรียนรู้วิธีจำลอง API ใน Apidog โดยไม่ต้องเขียนโค้ดด้วย Smart Mock: สร้างการตอบสนองที่สมจริงโดยอัตโนมัติจาก Schema ของคุณ คัดลอก Mock URL และลดการคาดการณ์ที่ผิดพลาด

Ashley Innocent

Ashley Innocent

15 July 2026

วิธี Mock API ใน Apidog โดยไม่ต้องเขียนโค้ด

Apidog สำหรับองค์กร

การติดตั้งแบบ On-Premises

SSO & RBAC

รองรับมาตรฐาน SOC 2

สำรวจ Apidog Enterprise

ทีมฟรอนต์เอนด์ของคุณติดขัดอยู่ แบ็กเอนด์สำหรับ GET /users และ GET /orders ยังไม่พร้อมใช้งาน แต่ UI จำเป็นต้องมีข้อมูลที่สมจริงเพื่อแสดงรายการ, จัดหน้า และจัดการสถานะว่างเปล่า วิธีแก้ปัญหาแบบเก่าคือการเขียนไฟล์ JSON ปลอมด้วยมือและให้บริการ แล้วคอยแก้ไขทุกครั้งที่ฟิลด์มีการเปลี่ยนแปลง งานนั้นน่าเบื่อ และจะไม่อัปเดตตรงกับ API จริงเกือบจะในทันที

มีวิธีที่เร็วกว่านั้น หากคุณมีข้อกำหนด API อยู่แล้ว Apidog สามารถสร้าง mock ที่ใช้งานได้โดยตรงจากสคีมาของเอนด์พอยต์ โดยไม่ต้องกำหนดค่าใดๆ และไม่ต้องเขียนโค้ด ฟีเจอร์นี้เรียกว่า Smart Mock และมันจะอ่านชื่อฟิลด์และประเภทของคุณเพื่อสร้างข้อมูลที่ดูสมจริง: ฟิลด์ name จะคืนค่าชื่อที่สมเหตุสมผล, ฟิลด์ email จะคืนค่าอีเมลที่สมเหตุสมผล คู่มือนี้จะแนะนำคุณตลอดการสร้าง mock สำหรับเอนด์พอยต์อีคอมเมิร์ซสองตัวแบบครบวงจร แสดงให้คุณเห็นว่า URL mock อยู่ที่ไหน อธิบายลำดับความสำคัญที่ตัดสินว่าการตอบสนองใดชนะ และครอบคลุมสิ่งที่จะทำเมื่อ Smart Mock ทายผิด หากคุณต้องการคำแนะนำเบื้องต้นเกี่ยวกับแนวคิดนี้ก่อน ภาพรวมของเราเกี่ยวกับ API mocking คืออะไรและทำงานอย่างไร จะเป็นการปูพื้นฐานให้ และเว็บไซต์ JSON Schema จะอธิบายโมเดลข้อจำกัดที่ Smart Mock เคารพ

ปุ่ม

Smart Mock ทำอะไรและทำไมจึงช่วยประหยัดเวลาของคุณ

เอนจิน mock ของ Apidog สามารถทำได้ห้าอย่าง ตามเอกสารประกอบ สามารถคืนค่าข้อมูลที่สร้างขึ้นโดยอัตโนมัติจาก API spec ของคุณ ซึ่งก็คือ Smart Mock สามารถคืนค่าตัวอย่างการตอบสนองที่คุณกำหนดไว้ใน spec สามารถคืนค่าการตอบสนองที่กำหนดเองได้ สามารถคืนค่าการตอบสนองที่แตกต่างกันตามพารามิเตอร์ของคำขอ ซึ่งคือ conditional mocking และสามารถคืนค่าการตอบสนองที่มีค่าที่เกี่ยวข้องกับคำขอผ่าน mock scripts

Smart Mock เป็นสมาชิกแบบไม่ต้องกำหนดค่าของตระกูลนั้น และถูกสร้างมาพร้อมกับ Apidog เคียงข้างเครื่องมือออกแบบ ดีบัก และทดสอบ คุณไม่จำเป็นต้องกำหนดตัวอย่างบอดี้ และไม่ต้องเขียนกฎ ตราบใดที่เอนด์พอยต์มีสคีมาการตอบสนองที่ระบุไว้ Smart Mock จะอ่านสคีมานั้นและเติมทุกฟิลด์ด้วยค่าที่สมจริง มันทำหน้าที่เป็นตัวสำรองอัตโนมัติ: เอนด์พอยต์ใดๆ ที่ไม่มีตัวอย่างที่กำหนดไว้ล่วงหน้าก็ยังคงคืนค่าที่สมเหตุสมผล ดังนั้นจึงไม่มีคำขอใดที่ส่งกลับมาเป็นค่าว่าง

สำหรับฟรอนต์เอนด์ที่ติดขัด นี่คือทั้งหมดที่คุณต้องการ คุณนำเข้าหรือออกแบบ API ของคุณเพียงครั้งเดียว และทุกเอนด์พอยต์จะกลายเป็น mock ที่ใช้งานได้ทันที เมื่อสคีมาเปลี่ยนแปลง mock ก็จะเปลี่ยนตามไปด้วย เพราะทั้งสองอ่านข้อมูลจากแหล่งเดียวกัน

ก่อนที่คุณจะเริ่ม: ข้อกำหนดเดียว

Smart Mock ต้องการการตอบสนองที่ระบุไว้บนเอนด์พอยต์ นั่นคือข้อกำหนดเบื้องต้นเพียงอย่างเดียว หากคุณออกแบบ API ใน Apidog ให้เพิ่มสคีมาการตอบสนองภายใต้คำจำกัดความการตอบสนองของเอนด์พอยต์ หากคุณนำเข้าไฟล์ OpenAPI สคีมาการตอบสนองมักจะมาพร้อมกับมัน หากไม่มีการตอบสนองที่กำหนดไว้ เอนจินก็ไม่มีอะไรให้อ่าน และ mock จะไม่คืนค่าใดๆ ที่มีประโยชน์

คุณจะต้องมีไคลเอนต์ Apidog desktop ด้วยหากคุณวางแผนที่จะใช้ Local Mock เนื่องจากมันทำงานบนเครื่องของคุณเองและไม่สามารถใช้งานได้ใน Apidog Web ดาวน์โหลด Apidog เพื่อทำตามได้เลย ฟรี ไม่มีค่าใช้จ่าย และไม่จำเป็นต้องใช้บัตรเครดิต

ทีละขั้นตอน: สร้าง mock สำหรับ GET /users และ GET /orders

มาสร้าง mock สำหรับ API ร้านค้าเล็กๆ กัน เราจะกำหนดเอนด์พอยต์สองตัวและเรียกใช้ทั้งสองตัว

ขั้นตอนที่ 1: กำหนดเอนด์พอยต์และสคีมาการตอบสนองของเอนด์พอยต์

สร้าง GET /users ด้วยเนื้อหาการตอบสนองดังนี้:

{
  "id": 1024,
  "name": "Amara Osei",
  "email": "amara.osei@example.com",
  "phone": "+1-415-555-0148",
  "createdAt": "2026-03-11T09:24:00Z",
  "isActive": true
}

จากนั้นสร้าง GET /orders โดยคืนค่าเป็นรายการดังนี้:

[
  {
    "orderId": "ORD-58210",
    "userId": 1024,
    "total": 84.50,
    "currency": "USD",
    "status": "shipped",
    "createdAt": "2026-05-02T14:03:00Z"
  }
]

ตรวจสอบให้แน่ใจว่าแต่ละพร็อพเพอร์ตี้มีประเภทในสคีมา ประเภทและชื่อคือสิ่งที่ Smart Mock ใช้เพื่อเลือกค่าที่ดี

ขั้นตอนที่ 2: ค้นหาและคัดลอก URL mock

ทุกเอนด์พอยต์จะได้รับ URL mock โดยอัตโนมัติ คุณจะพบมันได้ที่ไหนขึ้นอยู่กับโหมดที่คุณใช้งานอยู่:

คลิก Click to copy เพื่อคัดลอก ข้อควรทราบอย่างหนึ่ง: นี่จะคัดลอกเฉพาะ URL เท่านั้น หากเอนด์พอยต์ของคุณใช้วิธีอื่นที่ไม่ใช่ GET หรือต้องการเนื้อหาคำขอ คุณจะต้องเพิ่มเมธอดและเนื้อหาด้วยตัวเองเมื่อคุณเรียกใช้

Local Mock URL จะทำงานบน 127.0.0.1 พอร์ต 4523 และมีลักษณะดังนี้ในโหมดพาธ:

http://127.0.0.1:4523/m1/{projectID}-{versionNo}-{serverNo}/users

Local Mock จะเริ่มทำงานโดยอัตโนมัติในขณะที่ไคลเอนต์ Apidog เปิดอยู่ นอกจากนี้ยังมีรูปแบบโหมด ID ที่กำหนดเป้าหมายเอนด์พอยต์ด้วย ID ของมัน:

http://127.0.0.1:4523/m2/{projectID}-{versionNo}-{serverNo}/{endpointId}

ขั้นตอนที่ 3: เรียกใช้ mock

เรียกใช้ URL ด้วย curl:

curl http://127.0.0.1:4523/m1/1234567-0-0/users

คุณจะได้รับผลลัพธ์ประมาณนี้ ซึ่งสร้างขึ้นจากสคีมาของคุณ:

{
  "id": 3187,
  "name": "Diego Marchetti",
  "email": "diego.marchetti@example.net",
  "phone": "+1-628-555-0113",
  "createdAt": "2026-01-27T18:41:22Z",
  "isActive": true
}

สังเกตว่า name อ่านเหมือนชื่อคน และ email อ่านเหมือนอีเมล นั่นคือ Property Name Matching กำลังทำงานอยู่ ไม่ใช่ข้อมูลสุ่ม รีเฟรชคำขอแล้วค่าแบบไดนามิกจะถูกสร้างขึ้นใหม่ ดังนั้นทุกการเรียกใช้จะให้ข้อมูลใหม่แก่คุณ ซึ่งมีประโยชน์สำหรับการทดสอบว่า UI ของคุณจัดการเนื้อหาที่หลากหลายได้อย่างไร

เรียกใช้เอนด์พอยต์ orders ด้วยวิธีเดียวกัน:

curl http://127.0.0.1:4523/m1/1234567-0-0/orders

คุณจะได้รับอาร์เรย์ของออบเจกต์คำสั่งซื้อที่มียอดรวม สถานะ และการประทับเวลาที่สมจริง พร้อมสำหรับมุมมองรายการคำสั่งซื้อของคุณ

Smart Mock ตัดสินใจแต่ละค่าอย่างไร

เมื่อ Smart Mock เติมพร็อพเพอร์ตี้เดียว มันจะทำงานผ่านลำดับความสำคัญในการสร้างข้อมูลสามระดับ การทำความเข้าใจลำดับนี้จะบอกคุณได้อย่างชัดเจนว่าจะควบคุมผลลัพธ์ได้อย่างไร

  1. Mock Field. หากคุณตั้งค่าแบบกำหนดเองหรือนิพจน์บนพร็อพเพอร์ตี้ใน response spec ค่าที่ตั้งนั้นจะถูกเลือก Mock Field มีสองประเภทอินพุต: Fixed value ซึ่งเป็นค่าคงที่ที่ส่งคืนทุกครั้ง และ Faker statement ซึ่งเป็นนิพจน์ไดนามิกที่สร้างข้อมูลที่หลากหลาย ตัวอย่างเช่น ตั้งค่า Mock Field ของฟิลด์ status เป็น Faker statement ที่เลือกจาก shipped, pending และ delivered
  2. Property Name Matching. หากไม่มีการตั้งค่า Mock Field, Smart Mock จะจับคู่ชื่อพร็อพเพอร์ตี้กับกฎในตัวโดยใช้รูปแบบ wildcard หรือ regular expression จากนั้นจะสร้างข้อมูลที่เหมาะสม นี่คือเหตุผลที่ email และ createdAt ออกมาถูกต้อง กฎเหล่านี้อยู่ใน Mock Settings และคุณสามารถเพิ่มของคุณเองได้
  3. JSON Schema. หากชื่อไม่ตรงกับกฎใดๆ Smart Mock จะกลับไปใช้ค่าเริ่มต้นตามประเภทที่จำกัดโดยสคีมาของคุณ สตริงที่ไม่มีชื่อที่ตรงกันและไม่มีข้อจำกัดใดๆ จะได้รับสตริงทั่วไป

ข้อมูลที่สร้างขึ้นจะเคารพข้อจำกัดของ JSON Schema ของคุณตลอดทั้งกระบวนการ: ความยาวของสตริง, ค่า enum, ช่วงตัวเลข และความยาวของอาร์เรย์ ทั้งหมดนี้จะถูกยึดถือ หากคุณตั้งค่า status เป็น enum ที่มีสามค่า Smart Mock จะคืนค่าเพียงหนึ่งในสามค่านั้นเท่านั้น หากคุณตั้งค่า minItems ของอาร์เรย์เป็น 3 คุณจะได้รับอย่างน้อยสามรายการกลับมา การตั้งค่าพร็อพเพอร์ตี้ทุกอย่างจะปรากฏในข้อมูล mock สุดท้าย

Apidog ยังรองรับ mock locales ด้วย คุณจึงสามารถสร้างข้อมูลทดสอบในภาษาและรูปแบบภูมิภาคที่แตกต่างกันได้ หากร้านค้าของคุณให้บริการในตลาดญี่ปุ่น ให้สลับ locale แล้วชื่อและที่อยู่จะกลับมาในรูปแบบที่ถูกต้อง

เมื่อ Smart Mock ทายผิด และวิธีแก้ไข

Smart Mock เป็นการอนุมาน ดังนั้นบางครั้งก็อาจผิดพลาดได้ พร็อพเพอร์ตี้ที่ชื่อ sku อาจไม่ตรงกับกฎในตัวใดๆ และจะกลับไปใช้สตริงทั่วไป total อาจกลับมาเป็นตัวเลขธรรมดา ในขณะที่คุณต้องการทศนิยมสองตำแหน่งและช่วงที่สมเหตุสมผล นี่คือวิธีแก้ไข โดยเริ่มจากวิธีที่ง่ายที่สุดไปจนถึงวิธีที่ควบคุมได้มากที่สุด

ลำดับความสำคัญของ mock: อะไรคือสิ่งที่จะถูกเลือกจริง

แหล่งที่มาของความสับสนที่พบบ่อยคือการตอบสนองใดที่เอนด์พอยต์จะคืนค่าเมื่อมีหลายความเป็นไปได้ Apidog แก้ไขปัญหานี้ด้วยการตั้งค่า Default mock method ซึ่งอยู่ใน Project Settings ภายใต้ Mock Settings มีสองตัวเลือก:

อ่านจากซ้ายไปขวา ภายใต้ค่าเริ่มต้น คำขอจะตรวจสอบ Mock Expectation ที่ตรงกัน และหากไม่มีใดตรงกัน Smart Mock จะสร้างเนื้อหาการตอบสนอง หากเปลี่ยนไปใช้ Response example first ตัวอย่างการตอบสนองที่กำหนดไว้จะถูกตรวจสอบก่อนที่ Smart Mock จะถูกใช้เป็นตัวสำรอง

มีกฎหนึ่งที่อยู่เหนือลำดับทั้งสอง: Mock Expectations จะได้รับความสำคัญเป็นอันดับแรกเสมอเมื่อถูกกำหนดค่าและเงื่อนไขตรงกัน ไม่ว่าคุณจะเลือกลำดับใดก็ตาม ดังนั้น หากคุณตั้งค่าการตอบสนองแบบมีเงื่อนไขที่คืนค่า 404 เมื่อ userId เป็น 9999 ความคาดหวังนั้นจะถูกเรียกใช้โดยไม่คำนึงถึง Default mock method สำหรับคำแนะนำแบบละเอียดเกี่ยวกับการตอบสนองที่ขับเคลื่อนด้วยพารามิเตอร์ โปรดดูคู่มือของเราเกี่ยวกับการ สร้าง mock การตอบสนอง API แบบมีเงื่อนไขใน Apidog

สรุปในทางปฏิบัติ: Mock Expectations ที่กำหนดเองจะชนะทุกอย่าง จากนั้นจะเป็น Smart Mock หรือ Response Example ขึ้นอยู่กับการตั้งค่าของคุณ Smart Mock เป็นตัวสำรองสุดท้ายเสมอ ซึ่งเป็นเหตุผลว่าทำไมทุกคำขอจึงได้รับการตอบสนอง

Local, Cloud และ Runner Mock: ที่ที่ mock ทำงาน

Smart Mock และ Custom Mock อธิบายวิธีการสร้างการตอบสนอง การโฮสต์ mock นั้นเป็นทางเลือกที่แยกต่างหาก และ Apidog มีสามตัวเลือกให้คุณ:

เลือก Local Mock สำหรับงานฟรอนต์เอนด์คนเดียว, Cloud Mock เมื่อผู้อื่นต้องการเข้าถึง และ Runner Mock เมื่อ mock ควรอยู่บนเซิร์ฟเวอร์ของคุณเอง หากคุณกำลังพิจารณาตัวเลือกการโฮสต์เมื่อเทียบกับบริการอื่น ๆ การเปรียบเทียบเครื่องมือ mocking API ออนไลน์ ของเราจะนำเสนอแบบเคียงข้างกัน และ คู่มือ Apidog Cloud Mock จะครอบคลุมการตั้งค่าแบบโฮสต์อย่างละเอียด

ข้อผิดพลาดในการกำหนดเส้นทางเล็กน้อยที่ควรทราบ

การกำหนดเส้นทาง mock มีกฎบางอย่างที่ทำให้ผู้คนสับสน

พาธของเอนด์พอยต์ต้องขึ้นต้นด้วย / พาธเช่น /orders จะถูกกำหนดเส้นทางอย่างถูกต้องผ่านสภาพแวดล้อม mock URL ที่สมบูรณ์ที่ไม่ขึ้นต้นด้วย / จะไม่ใช้สภาพแวดล้อม mock เลย และพาธที่ไม่มีเครื่องหมายสแลชนำหน้าจะใช้ได้เฉพาะในโหมด ID เท่านั้น

หาก API สองตัวใช้เมธอดและพาธเดียวกัน โหมดพาธจะไม่สามารถแยกแยะความแตกต่างได้ด้วยตัวเอง ให้เพิ่มพารามิเตอร์คิวรี ?apidogApiId={endpointId} เพื่อชี้ไปยังเอนด์พอยต์ที่คุณต้องการอย่างแม่นยำ

และจำพฤติกรรมการรีเฟรชไว้: ข้อมูล mock จะอัปเดตเมื่อคุณรีเฟรชคำขอ การรีเฟรชแต่ละครั้งจะสร้างค่าไดนามิกใหม่ ดังนั้นหากคุณเห็นการตอบสนองแบบเดิมสองครั้ง คุณอาจกำลังดูแคชอยู่แทนที่จะเป็นการเรียกใช้ใหม่

ทำให้เวิร์กโฟลว์เป็นไปโดยอัตโนมัติด้วย Apidog CLI

การ mocking นั้นเป็นความสามารถ GUI และคลาวด์ใน Apidog เอนจิน mock ไม่ว่าจะเป็น Local, Cloud หรือ Runner จะให้บริการการตอบสนอง; Apidog CLI ไม่ได้โฮสต์หรือเริ่มเซิร์ฟเวอร์ mock จากเทอร์มินัล สิ่งที่ CLI เพิ่มเข้ามาคือวิธีที่จะรักษาสคีมาที่อยู่เบื้องหลัง mock ของคุณให้ถูกต้องเมื่อโปรเจกต์พัฒนาไป

เนื่องจาก Smart Mock สร้างผลลัพธ์จากสคีมาของเอนด์พอยต์ ดังนั้น mock จะดีได้ก็ต่อเมื่อสเปกดีเท่านั้น Apidog CLI และตัวแทนการเขียนโค้ด AI เช่น Cursor, Claude Code, Trae และ Codex ที่ทำงานผ่านมัน สามารถสร้างและอัปเดตเอนด์พอยต์และสคีมาในโปรเจกต์ของคุณได้ ซึ่งจะทำให้ผลลัพธ์ของ mock ถูกต้องทุกครั้งที่สัญญาเปลี่ยนแปลง โดยที่ไม่มีใครต้องเปิดแอปเพื่อแก้ไขฟิลด์ด้วยตนเอง

จากนั้น เมื่อ mock ได้ช่วยให้งานฟรอนต์เอนด์ดำเนินการต่อไปได้ สถานการณ์ทดสอบของโครงการเดียวกันจะทำงานแบบ headlessly ใน CI เพื่อตรวจสอบแบ็กเอนด์จริงเทียบกับสัญญาเดียวกันที่ mock อธิบายไว้ นั่นคือคำสั่งเดียว:

apidog run -t <scenario_id> -e <env_id> -r html,cli

ติดตั้งด้วย npm install -g apidog-cli (Node.js v16 หรือใหม่กว่า), ยืนยันตัวตนด้วย apidog login --with-token <your-token> และคุณสามารถเชื่อมต่อสิ่งนี้เข้ากับ pipeline ใดก็ได้ คู่มือของเราเกี่ยวกับการ ใช้งาน Apidog ใน CI/CD pipeline จะแนะนำการตั้งค่าโดยละเอียด mock ช่วยให้ฟรอนต์เอนด์ทำงานต่อไปได้; CLI ช่วยให้แบ็กเอนด์มีความซื่อสัตย์ต่อแหล่งข้อมูลที่เป็นจริงเดียวกัน

คำถามที่พบบ่อย

สรุป

Smart Mock เปลี่ยนสคีมา API ให้เป็น mock ที่ใช้งานได้โดยไม่ต้องเขียนโค้ดและไม่ต้องกำหนดค่า ซึ่งเป็นสิ่งที่ฟรอนต์เอนด์ที่ติดขัดต้องการอย่างแท้จริง กำหนดการตอบสนองของคุณ คัดลอก URL mock จากแท็บ API หรือแท็บ Mock แล้วเรียกใช้; เมื่อต้องการปรับปรุงการเดา ให้กระชับสคีมาหรือตั้งค่า Mock Field และจำไว้ว่า Mock Expectations ชนะเสมอ ดาวน์โหลด Apidog และสร้าง mock เอนด์พอยต์แรกของคุณได้ภายในเวลาที่ใช้ในการอ่านประโยคนี้

ปุ่ม

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API