ความหมาย
เซิร์ฟเวอร์ปฏิเสธคำขอเพราะไม่รองรับชนิดข้อมูล (Content-Type) หรือการเข้ารหัสของ body
สาเหตุที่พบบ่อย
- ส่ง JSON โดยไม่มี Content-Type: application/json
- ส่ง body แบบฟอร์มไปยัง API ที่รับเฉพาะ JSON
- Content-Encoding ที่ไม่รองรับ เช่น brotli ตอนอัปโหลด
วิธีแก้ไข
สำหรับไคลเอนต์หรือผู้เยี่ยมชม
ตั้ง header Content-Type ให้ถูกกับ body ที่ส่ง และใช้ฟอร์แมตตามที่เอกสาร API ระบุ
สำหรับผู้ดูแลเว็บไซต์หรือ API
แสดงชนิดที่ยอมรับใน Accept-Post หรือ Accept-Patch และให้ข้อความที่ชัดเจน
ตัวอย่างการตอบกลับ
HTTP/1.1
HTTP/1.1 415 Unsupported Media Type
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Accept-Post: application/json
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Unsupported Media Type",
"status": 415,
"detail": "Send the body as application/json."
} ข้อกำหนด
คำถามที่พบบ่อย
› ทำไม fetch() ได้ 415 เมื่อส่ง body เป็น JSON
fetch ส่ง text/plain สำหรับ body ที่เป็นสตริง เว้นแต่คุณตั้ง headers: {'Content-Type': 'application/json'}
› 415 หรือ 400
415 คือชนิดของ body ผิดโดยเฉพาะ 400 คือคำขอรูปแบบผิดโดยทั่วไป