เนื่องจากช่วงนี้ต้องไปร่วมพัฒนาระบบงานที่มี RESTful APIs ให้บริการ
พบว่าสิ่งหนึ่งสำหรับนักพัฒนาที่ดีจะต้องคำนึงถึงก็คือ
การจัดการกับ error หรือข้อผิดพลาดต่าง ๆ
ซึ่งถ้าจัดการได้ดี จะทำให้ API ที่สร้างนั้นมันดูดีมากขึ้น
เนื่องจากสิ่งที่สร้างนั้น เพื่อให้คนใช้งานนะ
ดังนั้นการออกแบบสำหรับการจัดการข้อมูลพลาดจึงสำคัญมาก ๆ
จึงทำการสรุปเรื่องที่ต้องใส่ใจไว้ดังนี้
ต้องเป็นไปตามกฎต่าง ๆ ของ HTTP
ดังนั้น error response ต่าง ๆ ก็ต้องทำตามด้วย
เพื่อทำให้ error ต่าง ๆ
- มี Status code ที่ถูกต้อง
- ต้องสนใจ Accept header เสมอ
- ส่งข้อมูลกลับไปให้ถูกต้องตาม Content-Type
- 4xx เป็น error ฝั่ง client หรือผู้ใช้งาน
- 5xx เป็น error ฝั่น server หรือผู้ให้บริการ
- 400 สำหรับการ validate ข้อมูล
- 401 และ 403 จะเกี่ยวกับ permission การใช้งาน
- 404 ไม่พบข้อมูล
- 500 และ 503 จะเกี่ยวกับ server error
- Error code ของ application หรือของระบบที่กำหนดไว้
- ข้อความที่คนสามารถอ่านรู้เรื่องและเข้าใจ
คำถามคือ วันนี้คุณออกแบบ Error response ของ API กันอย่างไร ?Reference Websites https://www.api2cart.com/blog/hints-tricks-better-api-error-codes/ http://www.daimto.com/google-api-error-list/ https://dzone.com/articles/api-errors-are-first-class-citizens http://apiux.com/2013/03/28/2-steps-api-error-codes/