เมื่อทำงานกับ APIs โดยใช้ Postman นักพัฒนาซอฟต์แวร์มักจะพบกับรหัสสถานะ HTTP ต่างๆ ที่บ่งบอกถึงประเภทของการตอบสนองหรือข้อผิดพลาดต่างๆ ข้อผิดพลาดอย่างหนึ่งคือ 415 Unsupported Media Type ซึ่งอาจทำให้หงุดหงิดเป็นพิเศษเมื่อพยายามส่งคำขอไปยัง API บทความนี้จะเจาะลึกถึงสาเหตุของข้อผิดพลาดนี้ วิธีระบุ และให้แนวทางแก้ไขที่เป็นประโยชน์ในการแก้ไขเมื่อใช้ Postman
Apidog เป็นแพลตฟอร์มการพัฒนา API แบบ low-code ใหม่ที่มาพร้อมกับส่วนต่อประสานผู้ใช้ที่เรียบง่ายแต่ใช้งานง่าย ด้วยการรองรับไฟล์ API ที่หลากหลาย ทำให้การพัฒนา API ของคุณคล่องตัวอย่างรวดเร็วด้วยการสร้างโค้ดอัตโนมัติและการสนับสนุนไปป์ไลน์ CI/CD
อย่าลืมคลิกปุ่มด้านล่างเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ Apidog
ข้อผิดพลาด 415 Unsupported Media Type คืออะไร?

ข้อผิดพลาด HTTP 415 Unsupported Media Type เกิดขึ้นเมื่อเซิร์ฟเวอร์ปฏิเสธที่จะยอมรับคำขอเนื่องจากรูปแบบ payload ไม่ได้รับการสนับสนุน ข้อผิดพลาดนี้เป็นส่วนหนึ่งของรหัสสถานะ HTTP คลาส 4xx ซึ่งบ่งบอกถึงข้อผิดพลาดฝั่งไคลเอนต์ โดยเฉพาะอย่างยิ่ง ข้อผิดพลาด 415 แสดงให้เห็นว่าในขณะที่เซิร์ฟเวอร์เข้าใจประเภทเนื้อหาของเอนทิตีคำขอและไวยากรณ์ของเอนทิตีคำขอนั้นถูกต้อง แต่ไม่สามารถประมวลผลคำแนะนำที่มีอยู่ได้
ในบริบทของการพัฒนาและทดสอบ API ด้วย Postman ข้อผิดพลาดนี้มักเกิดขึ้นเมื่อส่วนหัว Content-Type ของคำขอไม่ตรงกับรูปแบบของข้อมูลที่ถูกส่ง หรือเมื่อเซิร์ฟเวอร์ไม่ได้กำหนดค่าให้จัดการประเภทสื่อที่ระบุ
สาเหตุทั่วไปของข้อผิดพลาด 415 ใน Postman
ปัจจัยหลายประการอาจนำไปสู่ข้อผิดพลาด 415 Unsupported Media Type เมื่อใช้ Postman:
- ส่วนหัว Content-Type ไม่ถูกต้อง: สาเหตุที่พบบ่อยที่สุดคือการระบุส่วนหัว Content-Type ที่เซิร์ฟเวอร์ไม่รองรับหรือไม่ได้รับการกำหนดค่าให้จัดการ ซึ่งอาจเกิดจากการพิมพ์ผิดในประเภทเนื้อหา การใช้ประเภทสื่อที่ไม่เป็นมาตรฐาน หรือความไม่ตรงกันระหว่างประเภทเนื้อหากับเนื้อหาจริงที่ถูกส่ง
- การกำหนดค่าเซิร์ฟเวอร์: เซิร์ฟเวอร์อาจไม่ได้ตั้งค่าให้ยอมรับและประมวลผลประเภทสื่อที่ไคลเอนต์ระบุ ซึ่งมักเป็นกรณีของเว็บแอปพลิเคชันที่รองรับประเภทสื่อที่จำกัดด้วยเหตุผลด้านความปลอดภัยหรือประสิทธิภาพ
- ปัญหาฝั่งไคลเอนต์: แม้ว่าจะพบน้อยกว่า แต่ส่วนหัว Accept ที่ไม่ถูกต้องหรือไม่ถูกต้องก็อาจนำไปสู่ข้อผิดพลาด 415 ได้เช่นกัน สถานการณ์นี้เกิดขึ้นเมื่อไคลเอนต์ระบุส่วนหัว Accept พร้อมประเภทสื่อที่เซิร์ฟเวอร์ไม่สามารถส่งคืนได้
- ความไม่ตรงกันระหว่าง Content-Type และ Request Body: หากส่วนหัว Content-Type ไม่ได้สะท้อนรูปแบบของข้อมูลใน request body อย่างถูกต้อง อาจเกิดข้อผิดพลาด 415
การระบุข้อผิดพลาด 415 ใน Postman
เมื่อพบข้อผิดพลาด 415 ใน Postman โดยทั่วไปคุณจะเห็นการตอบสนองที่คล้ายกับสิ่งนี้:
HTTP/1.1 415 Unsupported Media Type
Date: Fri, 28 Jun 2024 12:00:00 GMT
Server: Apache/2.4.41 (Ubuntu)
Accept-Post: application/json; charset=UTF-8
Content-Length: 0
การตอบสนองนี้บ่งชี้ว่าเซิร์ฟเวอร์คาดหวังประเภทเนื้อหาเฉพาะ (ในกรณีนี้คือ JSON) แต่ได้รับสิ่งอื่นหรือสิ่งที่ไม่ได้รับการสนับสนุน
การแก้ไขข้อผิดพลาด 415 ใน Postman
ในการแก้ไขข้อผิดพลาด 415 Unsupported Media Type ใน Postman ให้พิจารณาขั้นตอนต่อไปนี้:
1. ตรวจสอบและแก้ไขส่วนหัว Content-Type:
- ตรวจสอบให้แน่ใจว่าส่วนหัว Content-Type ในคำขอของคุณตรงกับรูปแบบของข้อมูลที่คุณกำลังส่ง
- สำหรับข้อมูล JSON ให้ใช้
application/json
- สำหรับข้อมูลแบบฟอร์ม ให้ใช้
application/x-www-form-urlencoded
หรือmultipart/form-data
- สำหรับข้อมูล XML ให้ใช้
application/xml
หรือtext/xml
2. ตรวจสอบรูปแบบ Request Body:
- ตรวจสอบให้แน่ใจว่าข้อมูลใน request body ของคุณสอดคล้องกับ Content-Type ที่ระบุ
- หากส่ง JSON ให้ตรวจสอบให้แน่ใจว่าเป็นข้อมูล JSON ที่จัดรูปแบบอย่างถูกต้อง
- สำหรับข้อมูลแบบฟอร์ม ให้ใช้คู่คีย์-ค่าที่ถูกต้อง
3. ตรวจสอบเอกสารประกอบ API:
- ปรึกษา เอกสารประกอบ API เพื่อยืนยันประเภทเนื้อหาที่ยอมรับสำหรับ endpoint เฉพาะที่คุณกำลังเรียก
- API บางตัวอาจมีข้อกำหนดที่เข้มงวดสำหรับรูปแบบข้อมูลและการเข้ารหัส
4. ใช้ตัวเลือกในตัวของ Postman:
- ในแท็บ Body ของคำขอของคุณ ให้เลือกตัวเลือกที่เหมาะสม (raw, form-data, ฯลฯ) และเลือกรูปแบบที่ถูกต้องจากเมนูแบบเลื่อนลง (JSON, XML, ฯลฯ)
5. เพิ่ม Charset หากจำเป็น:
- เซิร์ฟเวอร์บางตัวอาจต้องระบุ charset ลองเพิ่มลงในส่วนหัว Content-Type ของคุณ เช่น
application/json; charset=UTF-8
6. ทดสอบด้วย Content Type ที่แตกต่างกัน:
- หากคุณไม่แน่ใจเกี่ยวกับประเภทเนื้อหาที่ต้องการ ให้ลองใช้ประเภททั่วไป เช่น
application/json
หรือapplication/x-www-form-urlencoded
7. ตรวจสอบบันทึกเซิร์ฟเวอร์:
- หากคุณสามารถเข้าถึงบันทึกเซิร์ฟเวอร์ได้ บันทึกเหล่านั้นอาจให้ข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับสาเหตุที่ประเภทสื่อไม่ได้รับการสนับสนุน
ตัวอย่าง: การแก้ไขข้อผิดพลาด 415 ใน Postman
ลองพิจารณาสถานการณ์ที่คุณพยายามส่งคำขอ POST พร้อมข้อมูล JSON แต่พบข้อผิดพลาด 415 นี่คือวิธีที่คุณอาจแก้ไขได้:
- ใน Postman ไปที่แท็บ Headers ของคำขอของคุณ
- เพิ่มหรือแก้ไขส่วนหัว Content-Type เป็น "application/json"
- ในแท็บ Body ให้เลือก "raw" และเลือก "JSON" จากเมนูแบบเลื่อนลง
- ป้อนข้อมูล JSON ของคุณใน body
- ส่งคำขอและตรวจสอบว่าข้อผิดพลาด 415 ได้รับการแก้ไขแล้ว
หากข้อผิดพลาดยังคงอยู่ คุณอาจต้องตรวจสอบเอกสารประกอบ API อีกครั้ง หรือติดต่อผู้ให้บริการ API สำหรับข้อกำหนดเฉพาะ
แนวทางปฏิบัติที่ดีที่สุดในการหลีกเลี่ยงข้อผิดพลาด 415
เพื่อลดการเกิดข้อผิดพลาด 415 เมื่อใช้ Postman:
- ระบุส่วนหัว Content-Type ที่ถูกต้องเสมอ สำหรับคำขอของคุณ
- ตรวจสอบให้แน่ใจว่า request body ของคุณตรงกับ Content-Type ที่ระบุ
- อ้างอิงเอกสารประกอบ API สำหรับประเภทสื่อและรูปแบบคำขอที่รองรับ
- ใช้ตัวเลือกในตัวของ Postman เพื่อตั้งค่ารูปแบบ body และประเภทเนื้อหาที่ถูกต้อง
- ทดสอบคำขอของคุณ ด้วยเครื่องมือต่างๆ เช่น Postman ก่อนนำไปใช้ในโค้ดของคุณ
- อัปเดตแอปพลิเคชัน Postman ของคุณอยู่เสมอ เพื่อรับประโยชน์จากคุณสมบัติและการแก้ไขข้อบกพร่องล่าสุด
ทำให้การประมวลผล API ง่ายขึ้นด้วย Apidog
มีแพลตฟอร์มการพัฒนา API แบบ low-code ที่น่าทึ่งที่คุณควรรู้จักในตอนนี้เรียกว่า Apidog

Apidog เป็นเครื่องมือที่สร้างขึ้นสำหรับนักพัฒนาซอฟต์แวร์ทุกคนโดยไม่คำนึงถึงประสบการณ์และความเชี่ยวชาญ ด้วย Apidog ทุกคนในทีมของคุณสามารถเรียนรู้และเริ่มทำงานร่วมกันได้อย่างรวดเร็วด้วยส่วนต่อประสานผู้ใช้ที่เรียบง่ายและใช้งานง่าย ร่วมกับ Apidog คุณสามารถสร้าง ทดสอบ จำลอง และจัดทำเอกสาร APIs ได้ ดังนั้นคุณจึงไม่จำเป็นต้องมีเครื่องมือ API อื่นอีกต่อไป!
การปรับแต่งรหัสการตอบสนอง API ด้วย Apidog

Apidog มีคุณสมบัติอันทรงพลังที่ช่วยให้คุณสร้างรหัสการตอบสนอง API ที่ปรับแต่งได้ ซึ่งช่วยเพิ่มการสื่อสารระหว่างแอปพลิเคชัน ฟังก์ชันนี้มีประโยชน์อย่างยิ่งเมื่อรหัสสถานะ HTTP มาตรฐานไม่สามารถจับภาพความแตกต่างของสถานการณ์เฉพาะในการโต้ตอบ API ของคุณได้อย่างเต็มที่
ประโยชน์ของรหัสการตอบสนองแบบกำหนดเอง
- การจัดการข้อผิดพลาดที่ดีขึ้น: ด้วยการสร้างรหัสการตอบสนองเฉพาะ คุณสามารถให้ข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับสิ่งที่ผิดพลาดระหว่างคำขอ API
- การระบุปัญหาอย่างรวดเร็ว: รหัสแบบกำหนดเองสามารถช่วยให้นักพัฒนาซอฟต์แวร์ระบุได้อย่างรวดเร็วว่าปัญหามาจากฝั่งไคลเอนต์หรือฝั่งเซิร์ฟเวอร์
- ประหยัดเวลา: ด้วยรหัสการตอบสนองแบบกำหนดเองที่ชัดเจน นักพัฒนาซอฟต์แวร์สามารถใช้เวลาน้อยลงในการวินิจฉัยปัญหาและใช้เวลามากขึ้นในการแก้ไขปัญหาเหล่านั้น
การสร้างรหัสการตอบสนองแบบกำหนดเองใน Apidog

ในการสร้างรหัสการตอบสนอง API ส่วนบุคคลใน Apidog:
- ค้นหาปุ่ม Add: ค้นหาปุ่ม "+ Add" ในแถวที่มีส่วนหัวรหัสการตอบสนอง API
- เลือกประเภทการตอบสนอง: เลือก "Add Blank Response" จากตัวเลือกที่นำเสนอ
- กำหนดการตอบสนอง: ในหน้าต่างป๊อปอัป ให้ระบุชื่อที่อธิบายรหัสการตอบสนองและกำหนดรหัสสถานะ HTTP ที่เหมาะสม
- เป็นสัญชาตญาณ: ตรวจสอบให้แน่ใจว่าทั้งชื่อรหัสการตอบสนองและรหัสสถานะเป็นสัญชาตญาณและสอดคล้องกับอนุสัญญามาตรฐาน
บทสรุป
ข้อผิดพลาด 415 Unsupported Media Type ใน Postman มักเป็นผลมาจากการกำหนดค่าส่วนหัว Content-Type ที่ไม่ถูกต้อง หรือรูปแบบ request body ที่ไม่ตรงกัน ด้วยการทำความเข้าใจสาเหตุของข้อผิดพลาดนี้และทำตามขั้นตอนการแก้ไขปัญหาที่สรุปไว้ในบทความนี้ นักพัฒนาซอฟต์แวร์สามารถระบุและแก้ไขปัญหาเหล่านี้ได้อย่างรวดเร็ว เพื่อให้มั่นใจถึงการโต้ตอบ API ที่ราบรื่น
โปรดจำไว้ว่าในขณะที่ Postman เป็นเครื่องมือที่ยอดเยี่ยมสำหรับการทดสอบและพัฒนา API สิ่งสำคัญคือต้องอ้างอิงเอกสารประกอบ API เฉพาะที่คุณกำลังทำงานอยู่เสมอ APIs ที่แตกต่างกันอาจมีข้อกำหนดหรือข้อจำกัดเฉพาะเกี่ยวกับประเภทสื่อและรูปแบบคำขอ
เมื่อคุณทำงานกับ APIs และ Postman ต่อไป คุณจะเชี่ยวชาญในการจดจำและแก้ไขข้อผิดพลาด HTTP ต่างๆ รวมถึง 415 Unsupported Media Type ความรู้นี้จะพิสูจน์ให้เห็นคุณค่าอย่างยิ่งในการเดินทางเพื่อการพัฒนาของคุณ ช่วยให้คุณสร้างการผสานรวม API ที่แข็งแกร่งและมีประสิทธิภาพมากขึ้น