Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

อย่าลืมจัดการกับ Error response ของ API นะ มันสำคัญมาก ๆ

$
0
0

ErrorMessage

ErrorMessage เนื่องจากช่วงนี้ต้องไปร่วมพัฒนาระบบงานที่มี RESTful APIs ให้บริการ พบว่าสิ่งหนึ่งสำหรับนักพัฒนาที่ดีจะต้องคำนึงถึงก็คือ การจัดการกับ error หรือข้อผิดพลาดต่าง ๆ ซึ่งถ้าจัดการได้ดี จะทำให้ API ที่สร้างนั้นมันดูดีมากขึ้น เนื่องจากสิ่งที่สร้างนั้น เพื่อให้คนใช้งานนะ ดังนั้นการออกแบบสำหรับการจัดการข้อมูลพลาดจึงสำคัญมาก ๆ จึงทำการสรุปเรื่องที่ต้องใส่ใจไว้ดังนี้ ต้องเป็นไปตามกฎต่าง ๆ ของ HTTP ดังนั้น error response ต่าง ๆ ก็ต้องทำตามด้วย เพื่อทำให้ error ต่าง ๆ
  • มี Status code ที่ถูกต้อง
  • ต้องสนใจ Accept header เสมอ
  • ส่งข้อมูลกลับไปให้ถูกต้องตาม Content-Type
เริ่มจาก Status Code สำหรับ Error มักจะสนใจอยู่สองกลุ่มคือ
  • 4xx เป็น error ฝั่ง client หรือผู้ใช้งาน
  • 5xx เป็น error ฝั่น server หรือผู้ให้บริการ
ตัวอย่างเช่น
  • 400 สำหรับการ validate ข้อมูล
  • 401 และ 403 จะเกี่ยวกับ permission การใช้งาน
  • 404 ไม่พบข้อมูล
  • 500 และ 503 จะเกี่ยวกับ server error
ต่อมาเรื่องของ Media Type ซึ่งถูกส่งมาจากผู้ร้องขอ หรือ ผู้ใช้งาน ว่าต้องการ หรือ ยอมรับข้อมูลรูปแบบไหน เช่น XML และ JSON เป็นต้น ดังนั้นทางฝั่งผู้ให้บริการควรสนใจ และส่งผลของ error กลับไปในรูปแบบนั้น ๆ ต่อมาเรื่องรูปแบบของ Error response ที่ส่งกลับไป อย่างน้อยควรประกอบไปด้วย
  • Error code ของ application หรือของระบบที่กำหนดไว้
  • ข้อความที่คนสามารถอ่านรู้เรื่องและเข้าใจ
โดยทั้ง Error code และข้อความต่าง ๆ ควรมีอยู่ในเอกสารเพื่ออธิบายเสมอ เพียงเท่านี้ Error response ของ API ก็จะดูดี รวมทั้งผู้ใช้งานก็เข้าใจและใช้งานได้ง่าย ไม่ต้องมานั่งแปลเป็นภาษาคนอีก !!
คำถามคือ วันนี้คุณออกแบบ 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/

Viewing all articles
Browse latest Browse all 1997

Trending Articles