API ที่ไม่มีผลลัพธ์กับ API ที่เกิดข้อผิดพลาดต้องใช้วิธีการต่างกัน การค้นหาที่สำเร็จอาจไม่คืนข้อมูลสถานที่ใด ๆ ในพื้นที่ที่ตรวจสอบ ขณะที่ข้อผิดพลาดเครือข่าย ข้อจำกัดที่ถึงขีด หรือแหล่งข้อมูลไม่พร้อมใช้งาน ทำให้ไม่สามารถสรุปผลจากการค้นหาได้
สำหรับ ROOTE ควบคุมการตอบกลับ HTTP จากนั้นตรวจสอบสถานะทางธุรกิจ คอลเลคชันที่คาดหวัง และขอบเขต วิธีนี้ช่วยป้องกันการแสดงข้อความว่า 'ไม่มีห้องน้ำ' เมื่อเรียกใช้บริการล้มเหลว หรือ 'ไม่มีป้ายหยุด' เมื่อหมดเวลาในการรอ
อ่านสามระดับของคำตอบ
| ระดับ | ที่ต้องควบคุม | ข้อสรุปที่เป็นไปได้ |
|---|---|---|
| การขนส่ง | การเชื่อมต่อ เวลา และสถานะ HTTP | คำขอสำเร็จหรือไม่? |
| สัญญา | JSON ที่ถูกต้อง รุ่น และฟิลด์ที่คาดหวัง | คำตอบสามารถนำไปใช้ได้หรือไม่? |
| ผลลัพธ์ทางธุรกิจ | สถานะ, คอลเลคชัน, ขอบเขต, คำเตือน และเมต้า | เราทราบอะไรในขอบเขตที่ร้องขอ? |
รหัส HTTP 200 ไม่เพียงพอสำหรับการตรวจสอบการค้นหา คำตอบอาจแจ้งการดำเนินการบางส่วนหรือสถานะข้อผิดพลาด ในทางกลับกัน รหัส 404 สำหรับเส้นทางไม่ใช่วิธีปกติในการแสดงคอลเลคชันว่าง: โปรดตรวจสอบ URL และสัญญา
ทำความเข้าใจ success, empty, partial และ error
| สถานะ | คำแนะนำการจัดการ |
|---|---|
| success | แสดงเอนทิตีหลังการตรวจสอบและรักษาข้อจำกัดไว้ |
| empty | แจ้งว่าไม่มีผลลัพธ์ที่คืนมาสำหรับการค้นหานี้ |
| partial | แสดงข้อมูลที่ใช้ได้พร้อมคำเตือน |
| error | แสดงว่าการค้นหาไม่พร้อมใช้งาน; อย่าสรุปว่าไม่มีสถานที่ |
การไม่มีผลลัพธ์เป็นการตอบสนองต่อคำขอและแหล่งข้อมูลที่รู้จัก มันไม่พิสูจน์ว่าบริการใด ๆ ไม่มีอยู่จริง ขอบเขตที่ไม่ครบถ้วน ตัวกรองที่เข้มงวด หรือข้อจำกัดที่บังคับใช้ อาจลดจำนวนผลลัพธ์
ต้นไม้การตัดสินใจสำหรับส่วนติดต่อของคุณ
1. La requête a-t-elle abouti ?
Non → indisponibilité réseau ou délai dépassé.
2. Le statut HTTP est-il acceptable selon le contrat ?
Non → traiter le code et le message d'erreur.
3. Le JSON respecte-t-il le schéma attendu ?
Non → réponse inexploitable, jamais "aucun résultat".
4. Le statut métier est-il error ?
Oui → recherche indisponible.
5. Le statut est-il partial ou la couverture limitée ?
Oui → résultats utilisables + avertissement.
6. La collection attendue est-elle vide ?
Oui → aucun résultat retourné dans ce périmètre.
Non → afficher les résultats et leurs limites.
ตรวจสอบพารามิเตอร์ตามลำดับที่ถูกต้อง
ตรวจสอบละติจูดและลองจิจูดก่อน ลำดับของพวกมัน และเมืองที่ได้รับ จากนั้นตรวจสอบหน่วยของรัศมีและคำศัพท์ของตัวกรอง API บริการใช้ types=toilets ส่วน URL แผนที่ใช้ modes=toilets พารามิเตอร์เหล่านี้อยู่ภายใต้สัญญาที่ต่างกัน
ขยายเพียงมิติเดียวทีละขั้น: เพิ่มรัศมีภายในขอบเขตของเส้นทาง หรือถอดตัวกรองเพื่อทดสอบอย่างชัดเจน จดจำคำขอเดิมไว้ หากขยายโดยอัตโนมัติ ให้แจ้งขอบเขตใหม่แก่ผู้ใช้
สร้างการค้นหา API รอบพิกัด GPS
จัดการแหล่งข้อมูลไม่พร้อมโดยไม่เสียข้อมูลอื่น
คำตอบบางส่วนอาจมีสถานที่จากแหล่งข้อมูลที่ตอบกลับในขณะที่แหล่งข้อมูลอื่นล้มเหลว เก็บผลลัพธ์เหล่านี้ ข้อกำหนดการอ้างอิง และคำเตือนที่เกี่ยวข้อง อย่านำเสนอรายการว่าครบถ้วน และอย่าแทนที่ฟิลด์ที่ขาดหายด้วยค่าดีฟอลต์ที่ทำให้เข้าใจผิด
ข้อมูลเก่าที่เก็บในแคชก็อาจมีประโยชน์หากนโยบายของคุณอนุญาตให้สำรองข้อมูล ควรระบุว่ายังเป็นข้อมูลเก่า เวลารับคำขอของคุณไม่ทำให้ข้อมูลต้นทางทันสมัยขึ้น
ปรับข้อความและวิธีการแก้ไข
| สถานการณ์ | ข้อความที่ควรปรับให้เหมาะกับอินเทอร์เฟซของคุณ | การกระทำ |
|---|---|---|
| empty | ไม่มีผลลัพธ์ในพื้นที่นี้กับตัวกรองดังกล่าว | ปรับเปลี่ยนพื้นที่หรือตัวกรอง |
| partial | มีผลลัพธ์บางส่วน; การค้นหายังไม่สมบูรณ์ | แสดงผลลัพธ์และคำเตือน |
| ข้อผิดพลาดในการตรวจสอบ | การค้นหามีพารามิเตอร์ที่ไม่ถูกต้อง | แก้ไขคำขอ |
| การตรวจสอบสิทธิ์หรือสิทธิ์ | การเข้าถึงนี้ไม่อนุญาตให้ทำการค้นหานี้ | ตรวจสอบบัญชีหรือโทเค็น |
| ข้อจำกัดหรือการไม่พร้อมใช้งาน | การค้นหาชั่วคราวไม่พร้อมใช้งาน | ปฏิบัติตามคำแนะนำการทำซ้ำ |
สำหรับรหัส 429 โปรดดูคำแนะนำของบริการและ Retry-After ที่อาจมี ข้อผิดพลาด 400 ต้องแก้ไขอาร์กิวเมนต์ การส่งคำขอเดิมซ้ำไม่ช่วยแก้ไข อย่าเปลี่ยนรหัส 401 เป็นการเรียกแบบไม่ระบุชื่อโดยอัตโนมัติหากผู้ใช้มีโทเค็น
การอ้างอิงข้อผิดพลาด API ROOTE
ทดสอบสี่สถานะก่อนเผยแพร่
เตรียมคำตอบทดสอบครบถ้วน ว่างเปล่า บางส่วน ข้อผิดพลาด JSON ไม่ถูกต้อง และหมดเวลา ตรวจสอบข้อความที่แสดง ผลลัพธ์ที่เก็บ และจำนวนการทำซ้ำ การทดสอบสำคัญคือ อย่าปล่อยให้ความผิดพลาดแสดงผลว่าไม่มีบริการ
ทำความเข้าใจรูปแบบข้อมูลการเคลื่อนที่
คำถามที่พบบ่อย
รายการว่างพิสูจน์ว่าห้องน้ำไม่มีหรือไม่?
ไม่ใช่ แค่แสดงว่าไม่มีผลลัพธ์ที่คืนมาสำหรับการค้นหาและแหล่งข้อมูลที่ตรวจสอบ
สามารถแสดงผลลัพธ์บางส่วนได้หรือไม่?
ได้ ถ้าเอนทิตีที่ใช้ถูกต้องและรักษาคำเตือนพร้อมข้อจำกัดไว้
ควรลองใหม่ทุกข้อผิดพลาดไหม?
ไม่ ใช้แก้ไขข้อผิดพลาดพารามิเตอร์หรือสิทธิ์ จำกัดการทำซ้ำสำหรับเหตุการณ์ชั่วคราว และปฏิบัติตามคำแนะนำของบริการ