ฉันกำลังมองหาคำแนะนำเกี่ยวกับแนวทางปฏิบัติที่ดีเมื่อต้องส่งคืนข้อผิดพลาดจาก REST API ฉันกำลังทำงานกับ API ใหม่เพื่อให้ฉันสามารถทิศทางใดก็ได้ในขณะนี้ ประเภทเนื้อหาของฉันคือ XML ในขณะนี้ แต่ฉันวางแผนที่จะสนับสนุน JSON ในอนาคต
ตอนนี้ฉันกำลังเพิ่มข้อผิดพลาดบางอย่างเช่นลูกค้าพยายามเพิ่มทรัพยากรใหม่ แต่มีโควต้าการจัดเก็บข้อมูลเกิน ฉันกำลังจัดการกรณีข้อผิดพลาดบางอย่างด้วยรหัสสถานะ HTTP (401 สำหรับการตรวจสอบสิทธิ์, 403 สำหรับการให้สิทธิ์และ 404 สำหรับคำขอที่ไม่ดีธรรมดา) ฉันตรวจดูรหัสข้อผิดพลาด HTTP ที่มีความสุข แต่ไม่มีช่วง 400-417 ที่ดูเหมือนจะถูกรายงานข้อผิดพลาดเฉพาะแอปพลิเคชัน ดังนั้นในตอนแรกฉันถูกล่อลวงให้ส่งคืนข้อผิดพลาดแอปพลิเคชันของฉันด้วย 200 OK และ XML ที่ระบุเฉพาะ (เช่นจ่ายเงินให้เรามากขึ้นและคุณจะได้รับพื้นที่เก็บข้อมูลที่คุณต้องการ!) แต่ฉันหยุดคิดเกี่ยวกับมัน ยักด้วยความกลัว) นอกจากนี้ฉันรู้สึกว่าฉันแบ่งการตอบสนองข้อผิดพลาดออกเป็นกรณีที่แตกต่างกันเนื่องจากบางรายการเป็นรหัสสถานะ HTTP ที่ขับเคลื่อนด้วยและอื่น ๆ เป็นเนื้อหาที่ขับเคลื่อน
ดังนั้นคำแนะนำอุตสาหกรรมคืออะไร? แนวทางปฏิบัติที่ดี (โปรดอธิบายว่าทำไม!) และจากลูกค้า POV การจัดการข้อผิดพลาดประเภทใดใน REST API ทำให้ชีวิตของรหัสลูกค้าง่ายขึ้น?