Appearance
03.07 HTTP Status Codes
📌 At a Glance
| รายการ | รายละเอียด |
|---|---|
| Topic | HTTP Status Codes |
| Difficulty | ⭐ Beginner |
| Reading Time | 5 นาที |
| Target | Developer |
🎯 Learning Objectives
หลังจากศึกษาหัวข้อนี้แล้ว ผู้อ่านจะสามารถ
- เข้าใจ HTTP Status Code ที่ SISAHYGO API ใช้งาน
- แยกความแตกต่างระหว่าง Success และ Error
- จัดการข้อผิดพลาดใน Client System ได้อย่างเหมาะสม
Overview
SISAHYGO API ใช้ HTTP Status Codes ตามมาตรฐาน REST API เพื่อแจ้งผลการประมวลผลของแต่ละ Request
Developer ควรตรวจสอบ HTTP Status Code ก่อนอ่านข้อมูลใน Response Body ทุกครั้ง
Figure 3-7 HTTP Status Codes
(แทรกรูป Figure 3-7 : HTTP Status Codes Reference)

Figure 3-7 สรุป HTTP Status Code ที่ใช้ใน SISAHYGO API พร้อมความหมาย สาเหตุที่พบ และแนวทางการจัดการเบื้องต้น
Status Codes
| Status | Description | ใช้เมื่อ |
|---|---|---|
| 200 OK | Request สำเร็จ | อ่านหรือสร้างข้อมูลสำเร็จ |
| 400 Bad Request | รูปแบบข้อมูลไม่ถูกต้อง | Validation ไม่ผ่าน |
| 401 Unauthorized | API Key ไม่ถูกต้อง | Authentication ล้มเหลว |
| 403 Forbidden | ไม่มีสิทธิ์ใช้งาน | API Key ไม่มีสิทธิ์เข้าถึง Endpoint |
| 404 Not Found | ไม่พบ Resource | URL หรือข้อมูลไม่ถูกต้อง |
| 422 Unprocessable Entity | Business Validation Error | ข้อมูลถูกต้องแต่ไม่ผ่าน Business Rules |
| 429 Too Many Requests | เรียก API ถี่เกินไป | เกิน Rate Limit (รองรับในอนาคต) |
| 500 Internal Server Error | ระบบเกิดข้อผิดพลาด | Server Error |
Typical Response
Success
http
HTTP/1.1 200 OKAuthentication Error
http
HTTP/1.1 401 UnauthorizedValidation Error
http
HTTP/1.1 422 Unprocessable EntityServer Error
http
HTTP/1.1 500 Internal Server ErrorClient Handling Guide
| Status | Client ควรทำอย่างไร |
|---|---|
| 200 | ประมวลผลข้อมูลต่อ |
| 400 | ตรวจสอบ Request Format |
| 401 | ตรวจสอบ API Key |
| 403 | ติดต่อผู้ดูแลระบบ |
| 404 | ตรวจสอบ Endpoint หรือ Reference |
| 422 | แก้ไขข้อมูลตาม Error Message |
| 500 | Retry ภายหลัง หรือแจ้ง Support |
Key Points
| Item | Recommendation |
|---|---|
| ตรวจสอบ HTTP Status ก่อน | ✅ |
| อ่าน Error Code ใน JSON | ✅ |
| อย่าอ้างอิงจาก Message เพียงอย่างเดียว | ✅ |
| รองรับ Error ที่ไม่คาดคิด | ✅ |
Implementation Notes
- ตรวจสอบ HTTP Status Code ก่อนอ่าน
response.success - กรณี 4xx ควรแจ้งผู้ใช้งานให้แก้ไขข้อมูล
- กรณี 5xx ควร Retry หรือบันทึก Log เพื่อวิเคราะห์
- ไม่ควรถือว่า HTTP 200 หมายถึงข้อมูลถูกต้องเสมอ ควรตรวจสอบ
successและcodeใน Response Body ร่วมด้วย
Best Practices
- แยกการจัดการ Error ตาม Status Code
- บันทึก HTTP Status และ Response Code ใน Log
- แสดงข้อความที่เหมาะสมแก่ผู้ใช้งาน
- รองรับ Status Code ใหม่ที่อาจเพิ่มในอนาคต
Summary
HTTP Status Code เป็นตัวบ่งชี้ผลการประมวลผลในระดับ Protocol ขณะที่ JSON Response ให้รายละเอียดเพิ่มเติมในระดับ Business Logic การตรวจสอบทั้งสองส่วนร่วมกันจะช่วยให้ Client System จัดการข้อผิดพลาดได้อย่างถูกต้องและมีประสิทธิภาพ
Next Step
➡️ 03.08 Naming Convention
