หากคุณกำลังสร้าง UI ก่อนที่ส่วนหลังบ้านจะถูกสร้างขึ้น คุณจำเป็นต้องมีข้อมูลเพื่อใช้แสดงผล และ DummyJSON เป็นหนึ่งในวิธีที่เร็วที่สุดในการได้รับข้อมูลนั้น เป็น REST API ปลอมฟรีที่โฮสต์ไว้ซึ่งให้บริการข้อมูลผลิตภัณฑ์ ผู้ใช้ รถเข็น และอื่นๆ ที่สมจริงผ่าน HTTP ธรรมดา ไม่ต้องลงทะเบียน คู่มือนี้จะอธิบายว่า DummyJSON ให้อะไรกับคุณบ้าง เปรียบเทียบกับ API สำหรับการทดสอบสาธารณะอื่นๆ และจะทำอย่างไรเมื่อข้อมูลตัวยึดตำแหน่งแบบตายตัวไม่เพียงพออีกต่อไป
DummyJSON คืออะไร?
DummyJSON คือ JSON API ตัวยึดตำแหน่ง (placeholder) ฟรี คุณส่งคำขอไปยังปลายทางสาธารณะ และมันจะส่งคืนข้อมูลตัวอย่างที่มีโครงสร้างและน่าเชื่อถือกลับมา ไม่ต้องตั้งค่าฐานข้อมูลและไม่ต้องลงทะเบียนคีย์ มีอยู่เพื่อให้นักพัฒนาส่วนหน้า นักเรียน และใครก็ตามที่กำลังสร้างต้นแบบ สามารถเรียกใช้งานปลายทางเครือข่ายจริงแทนที่จะฮาร์ดโค้ดอาร์เรย์ในโค้ดของพวกเขา

ข้อมูลเป็นของปลอมแต่มีความสอดคล้องกัน ผลิตภัณฑ์มีชื่อ ราคา คะแนนสต็อก และหมวดหมู่ ผู้ใช้มีชื่อ อีเมล ที่อยู่ และบริษัท ความสอดคล้องดังกล่าวทำให้ DummyJSON มีประโยชน์สำหรับการเชื่อมต่อตาราง การ์ด การแบ่งหน้า และหน้าแสดงรายละเอียดที่ดูเหมือนของจริง เนื่องจากข้อมูลบันทึกถูกจัดเรียงและมีประเภทเหมือนข้อมูลการผลิตทั่วไป คุณสามารถสร้างตัวกรอง ตัวควบคุมการจัดเรียง และมุมมองรายละเอียดได้โดยไม่ต้องสร้างฟิกซ์เจอร์ของคุณเองก่อน
DummyJSON ให้บริการทุกอย่างผ่าน HTTPS ในรูปแบบ JSON ดังนั้นจึงใช้งานได้เหมือนกันจากการดึงข้อมูลของเบราว์เซอร์ แอปพลิเคชันมือถือ คำสั่ง curl หรือสคริปต์ฝั่งเซิร์ฟเวอร์ ไม่ต้องติดตั้งอะไรเลย คุณส่งคำขอไปยัง URL และได้ข้อมูลกลับมา ซึ่งเป็นสิ่งที่คุณต้องการในชั่วโมงแรกๆ ของโปรเจกต์เมื่อ API จริงยังไม่มี
มันเป็นเครื่องมือการเรียนรู้และการสร้างต้นแบบ และมันก็ทำงานได้ดี เมื่อคุณต้องการปลายทางเพื่อดึงข้อมูลในบทช่วยสอนหรือการสาธิตอย่างรวดเร็ว มันช่วยประหยัดเวลาได้มาก
ปลายทาง การรับรองความถูกต้อง และข้อจำกัดของ DummyJSON
DummyJSON เปิดเผยชุดทรัพยากรหลายอย่างที่พบได้บ่อย:
/products, รายการสินค้าในแค็ตตาล็อกพร้อมราคา สต็อก และคะแนน/users, ผู้คนพร้อมที่อยู่ อีเมล และรายละเอียดบริษัท/carts, รถเข็นสินค้าที่ผูกกับผู้ใช้/postsและ/comments, เนื้อหาสไตล์บล็อก/todos, รายการงาน/recipesและ/quotes, ชุดเนื้อหาเพิ่มเติม
แต่ละชุดทรัพยากรรองรับรูปแบบที่คุณคาดหวังจาก REST API คุณสามารถดึงข้อมูลบันทึกทั้งหมด ดึงข้อมูลหนึ่งรายการด้วย ID ค้นหา กรองตามหมวดหมู่ และแบ่งหน้าด้วย limit และ skip พารามิเตอร์ select จะตัดการตอบกลับให้เหลือเฉพาะฟิลด์ที่ระบุ และพารามิเตอร์ delay (0 ถึง 5000 มิลลิวินาที) ช่วยให้คุณจำลองเครือข่ายที่ช้าเพื่อทดสอบสถานะการโหลดได้
นี่คือการอ่านพื้นฐาน:
curl https://dummyjson.com/products?limit=5&skip=10
การรับรองความถูกต้องใช้ปลายทางสำหรับเข้าสู่ระบบและโทเค็น Bearer คุณส่งข้อมูลประจำตัวไปยัง /auth/login รับโทเค็นกลับมา และส่งไปในการร้องขอที่ได้รับการป้องกัน:
# 1. Log in to get a token
curl -X POST https://dummyjson.com/auth/login \
-H 'Content-Type: application/json' \
-d '{"username":"emilys","password":"emilyspass"}'
# 2. Use the token on an authenticated request
curl https://dummyjson.com/auth/me \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN_HERE'
รองรับการเขียนข้อมูลด้วย คุณสามารถส่งคำขอ POST, PUT, PATCH และ DELETE และ API จะตอบสนองราวกับว่ามีการเปลี่ยนแปลงเกิดขึ้น ข้อควรระวัง: การเขียนเหล่านี้เป็นการจำลอง DummyJSON จะสะท้อนกลับข้อมูลบันทึกที่ดูเหมือนได้รับการอัปเดตหรือสร้างขึ้น แต่ไม่มีอะไรคงอยู่ การรีเฟรชจะทำให้ผลิตภัณฑ์ "ใหม่" ของคุณหายไป นี่คือการออกแบบสำหรับบริการสาธารณะที่ใช้ร่วมกัน และเป็นข้อจำกัดที่สำคัญที่สุดเพียงอย่างเดียวที่ต้องทำความเข้าใจ เอกสารไม่ได้เผยแพร่ข้อจำกัดอัตราที่เข้มงวด แต่ควรปฏิบัติต่อปลายทางฟรีที่ใช้ร่วมกันอย่างนุ่มนวลและอย่าใช้การทดสอบโหลดกับมัน
สำหรับการสำรวจที่สมบูรณ์ยิ่งขึ้นว่ามีอะไรบ้างนอกเหนือจาก DummyJSON สรุปของ API ฟรีสำหรับนักพัฒนาครอบคลุมตัวเลือกในหลายหมวดหมู่
DummyJSON เทียบกับ JSONPlaceholder เทียบกับ Reqres
DummyJSON ไม่ใช่ REST API ปลอมฟรีเพียงเจ้าเดียว สองเจ้าที่ถูกนำมาเปรียบเทียบมากที่สุดคือ JSONPlaceholder และ Reqres พวกมันมีความทับซ้อนกัน แต่แต่ละเจ้าก็มีความโดดเด่นต่างกันไป
| Tool | Best for | Resources | Auth flow | Writes persist? |
|---|---|---|---|---|
| DummyJSON | Realistic e-commerce-style demos | Products, users, carts, posts, recipes, more | Login endpoint + bearer token | No (simulated) |
| JSONPlaceholder | Quick CRUD tutorials, minimal setup | Posts, comments, users, todos, albums, photos | None | No (simulated) |
| Reqres | Auth and request/response flow demos | Users, register/login mocks | Mock register/login | No (simulated) |
รูปแบบเป็นแบบเดียวกันทั้งสามอย่าง คุณจะได้รับข้อมูลแบบคงที่ที่อ่านเป็นส่วนใหญ่ การเขียนถูกจำลองขึ้น และคุณไม่สามารถเปลี่ยนรูปแบบของสิ่งที่ส่งกลับมาได้ JSONPlaceholder ทำงานบน json-server ซึ่งเป็นเหตุผลที่โมเดลข้อมูลของมันให้ความรู้สึกทั่วไป DummyJSON ชนะเมื่อคุณต้องการข้อมูลที่คล้ายกับร้านค้าจริง Reqres มีประโยชน์เมื่อคุณกำลังสาธิตหน้าจอเข้าสู่ระบบโดยเฉพาะ
แหล่งข้อมูลอย่างเป็นทางการที่ควรบุ๊กมาร์กไว้คือ: JSONPlaceholder และ GitHub repo ของ DummyJSON หากคุณต้องการโฮสต์ด้วยตัวเองหรืออ่านโค้ด
เมื่อข้อมูลตัวยึดตำแหน่งแบบตายตัวไม่เพียงพอ
API ปลอมที่โฮสต์จะเจอทางตันอย่างรวดเร็วเมื่อโปรเจกต์ของคุณมีความเฉพาะเจาะจง คุณจะรู้สึกได้เมื่อ:
- แอปของคุณต้องการฟิลด์ที่ DummyJSON ไม่มี ออบเจกต์
subscription_tierหรือfeature_flagsไม่ได้อยู่ใน schema และคุณไม่สามารถเพิ่มได้ - คุณต้องการการเขียนที่คงอยู่ การสร้างโฟลว์รถเข็นหรือแผงผู้ดูแลระบบหมายถึงการสร้างบันทึกและอ่านกลับ การเขียนแบบจำลองจะทำลายวงจรนั้น
- คุณต้องทดสอบเส้นทางข้อผิดพลาด แอปจริงต้องจัดการกับ
429,500หรือเพย์โหลดที่ผิดรูปแบบ API ที่สำเร็จแบบคงที่จะไม่สร้างสิ่งเหล่านี้ได้ตามต้องการ - ข้อมูลของคุณต้องตรงกับสัญญา OpenAPI ของคุณเอง เพื่อให้ส่วนหน้าและส่วนหลังตกลงกันก่อนที่เซิร์ฟเวอร์จริงจะถูกจัดส่ง
นี่คือจุดที่คุณหยุดยืม API ปลอมของคนอื่นและเริ่มสร้างของคุณเอง คุณต้องการความสะดวกสบายแบบไม่มีส่วนหลังบ้านเช่นเดียวกัน แต่ด้วยสกีมาของคุณ ชื่อฟิลด์ของคุณ และการตอบสนองที่คุณควบคุมได้
วิธีสร้าง REST API ปลอมของคุณเองด้วย Apidog
Apidog เป็นแพลตฟอร์ม API ที่ออกแบบ ทดสอบ จัดทำเอกสาร และจำลอง API ได้ในที่เดียว เซิร์ฟเวอร์จำลองของมันเป็นส่วนที่มาแทนที่ API ปลอมที่โฮสต์เมื่อคุณเติบโตเกินกว่าข้อมูลที่ตายตัว แทนที่จะยอมรับสิ่งที่ DummyJSON ส่งคืน คุณกำหนดปลายทางและรูปแบบข้อมูล และ Apidog จะสร้างการตอบสนองที่สมจริงที่ตรงกัน หากต้องการทำตาม ดาวน์โหลด Apidog และสร้างโปรเจกต์ฟรี
นี่คือขั้นตอน:
1. กำหนดปลายทางและ schema ของคุณ สร้างปลายทาง เช่น GET /products และอธิบายฟิลด์การตอบกลับ: id, title, price, stock, category คุณสามารถทำได้ด้วยตนเองหรือนำเข้าไฟล์ OpenAPI/Swagger ที่มีอยู่ เพื่อให้ mock ตรงกับสัญญาจริงของคุณ
2. ให้ smart mock สร้างข้อมูล Apidog อ่านชื่อฟิลด์และประเภทของคุณ จากนั้นสร้างค่าที่เหมาะสมโดยอัตโนมัติ ฟิลด์ที่ชื่อว่า email จะส่งคืนอีเมล, price จะส่งคืนตัวเลข, createdAt จะส่งคืนวันที่ ไม่จำเป็นต้องเขียน fixtures ด้วยตนเอง หากคุณเคยใช้ Faker มาก่อน นี่คือแนวคิดเดียวกันที่สร้างขึ้นในแพลตฟอร์ม คู่มือเกี่ยวกับการ สร้างข้อมูลจำลองจาก OpenAPI schemas จะอธิบายรายละเอียดเกี่ยวกับด้านที่ขับเคลื่อนด้วย schema
3. ปรับแต่งค่าและกรณีขอบ ต้องการช่วงเฉพาะสำหรับ price, enum ที่แน่นอนสำหรับ status, หรือการตอบกลับ 500 โดยตั้งใจเพื่อทดสอบการจัดการข้อผิดพลาด? คุณตั้งค่ากฎต่อฟิลด์และต่อการตอบกลับ นี่คือส่วนที่ API ที่โฮสต์ไม่สามารถทำได้ เพราะคุณเป็นเจ้าของคำจำกัดความ
4. รันเซิร์ฟเวอร์จำลองและเรียกใช้งาน Apidog จะให้ URL ที่ใช้งานได้แก่คุณ ชี้ส่วนหน้าของคุณไปที่นั่นเหมือนกับที่คุณชี้ไปที่ DummyJSON ทุกประการ ยกเว้นว่าตอนนี้ทุกฟิลด์และรหัสสถานะเป็นของคุณ:
curl https://<your-mock-host>/products?limit=5
เนื่องจาก mock ถูกสร้างขึ้นจาก schema ของคุณ เมื่อสเปก API ของคุณเปลี่ยน mock ก็จะเปลี่ยนตาม ข้อมูลปลอมของคุณและสัญญาจริงของคุณจะไม่คลาดเคลื่อน หากคุณต้องการชุดข้อมูลที่สมจริงและหลากหลายมากขึ้น แนวทางใน การสร้างข้อมูลทดสอบ API ที่สมจริง เข้ากันได้ดีกับการพัฒนาที่ขับเคลื่อนด้วย mock

ข้อแลกเปลี่ยนที่ซื่อสัตย์: DummyJSON ชนะเรื่องความเร็วสำหรับการสาธิตแบบใช้แล้วทิ้ง เนื่องจากไม่มีอะไรต้องตั้งค่า Apidog ชนะทันทีที่คุณต้องการ schema ของคุณเอง การเขียนที่ดูเหมือนจะคงอยู่ ข้อผิดพลาดที่ควบคุมได้ หรือ mock ที่ซิงค์กับ API จริงที่คุณจะจัดส่ง
คำถามที่พบบ่อย
DummyJSON ใช้งานได้ฟรีหรือไม่?
ใช่ DummyJSON ฟรีและไม่ต้องใช้ API key คุณสามารถเรียกใช้ปลายทางสาธารณะได้โดยตรงจากเบราว์เซอร์, curl หรือแอปของคุณ เช่นเดียวกับบริการฟรีที่ใช้ร่วมกันอื่น ๆ มีไว้สำหรับการสร้างต้นแบบและการเรียนรู้ ไม่ใช่สำหรับการจราจรในการผลิตหรือการทดสอบโหลด
DummyJSON บันทึกข้อมูลที่ฉันสร้างหรืออัปเดตหรือไม่?
ไม่ คำขอ POST, PUT, PATCH และ DELETE จะส่งคืนการตอบกลับที่ดูเหมือนประสบความสำเร็จ แต่ไม่มีอะไรคงอยู่บนเซิร์ฟเวอร์ การอ่านครั้งถัดไปจะส่งคืนข้อมูลเดิม เมื่อคุณต้องการการเขียนที่คงอยู่จริง ให้สร้าง mock ของคุณเอง คู่มือเกี่ยวกับ mock APIs อธิบายความแตกต่างระหว่างการจำลองและการจำลองที่มีสถานะ
อะไรคือความแตกต่างระหว่าง DummyJSON กับ Mock Server?
DummyJSON เป็นชุดข้อมูลแบบตายตัวที่ทุกคนใช้งานร่วมกัน ส่วน mock server เช่นเดียวกับใน Apidog ทำงานกับ schema ของคุณและส่งคืนข้อมูลและรหัสสถานะที่คุณกำหนด ใช้ DummyJSON สำหรับการสาธิตทั่วไป และใช้ mock server เมื่อข้อมูลต้องตรงกับ API ของคุณเอง
ฉันสามารถรับข้อมูลที่สมจริงแทนตัวยึดตำแหน่งที่ชัดเจนได้หรือไม่?
ได้ หากคุณสร้างมันจาก schema เครื่องมือที่ขับเคลื่อนด้วย schema จะอ่านชื่อฟิลด์และประเภทของคุณ และสร้างค่าที่น่าเชื่อถือโดยอัตโนมัติ ดังนั้นฟิลด์ email จะดูเหมือนอีเมลและ price จะดูเหมือนราคา นี่คือเหตุผลหลักที่ทีมย้ายจาก API ปลอมแบบตายตัวไปยัง mock ของตนเอง
สรุป
DummyJSON เป็น REST API ปลอมฟรีที่ยอดเยี่ยม เป็นวิธีที่เร็วที่สุดในการแสดง UI ที่มีผลิตภัณฑ์ ผู้ใช้ และรถเข็นที่ดูสมจริงโดยไม่ต้องเขียนโค้ดแบ็คเอนด์เลย และสำหรับบทเรียนหรือต้นแบบอย่างรวดเร็วก็ยากที่จะหาอะไรมาเปรียบได้ ข้อจำกัดจะปรากฏขึ้นเมื่อคุณต้องการฟิลด์ของคุณเอง การเขียนที่คงอยู่ ข้อผิดพลาดที่ควบคุมได้ หรือข้อมูลที่ติดตามสัญญา API ของคุณ
เมื่อถึงจุดนั้น ให้สร้าง REST API ปลอมของคุณเองแทนที่จะยืมของที่ตายตัว Apidog ช่วยให้คุณกำหนด schema จำลองข้อมูลที่สมจริงจากมันโดยอัตโนมัติ และทำให้ mock ซิงค์กับ API ที่คุณจะจัดส่ง ลองใช้ฟรีและเปลี่ยนสเปกของคุณให้เป็น mock ที่ใช้งานได้ในไม่กี่นาที
