error response ที่ดีทำสองอย่าง: ใช้ HTTP status code ที่ถูกต้อง (สัญญาณที่เครื่องอ่านได้) และคืน body ที่มีโครงสร้างและสอดคล้องกัน ที่นักพัฒนานำไปทำอะไรต่อได้ รูปร่างของ error ที่ไม่สอดคล้องกันเป็นหนึ่งในต้นตอความเจ็บปวดที่ใหญ่ที่สุดฝั่ง client
ใช้รูปแบบ error มาตรฐาน: RFC 7807 (problem+json)
RFC 7807 นิยาม body "problem details" มาตรฐานพร้อม media type เฉพาะ ทำให้ทุก error ทั่วทั้ง API ของคุณดูเหมือนกัน:
HTTP/1.1 404 Not Found
Content-Type: application/problem+json
{
"type": "https://api.example.com/errors/not-found",
"title": "Resource not found",
"status": 404,
"detail": "No user exists with id 999",
"instance": "/users/999"
}
