Menyelesaikan Ralat Jenis Media Tidak Disokong HTTP 415 untuk Permintaan JSON
Apabila mengeluarkan permintaan REST dengan badan JSON, ia tidak jarang ditemui ralat "Jenis Media Tidak Disokong" HTTP 415. Ralat ini biasanya berpunca daripada pelayan apabila ia tidak dapat memproses data JSON yang masuk.
Secara khusus, isu yang dibangkitkan dalam soalan dicirikan oleh permintaan POST dengan "Content-Type: application/json" yang ditakrifkan dengan betul " tetapi masih menerima ralat "Jenis Media Tidak Disokong". Walaupun mencuba pelbagai perpustakaan JSON, masalah itu berterusan.
Penyelesaian: Meninggalkan Spesifikasi Charset
Selepas pemeriksaan teliti, didapati bahawa kemasukan "charset=utf8" parameter dalam pengepala "Jenis Kandungan" adalah punca ralat. Dengan mengalih keluar "charset=utf8" daripada pengepala permintaan, ralat akan hilang secara ajaib.
Kod Disemak:
<code class="java">con.setRequestProperty("Content-Type", "application/json"); con.setRequestProperty("Accept", "application/json");</code>
Penjelasan Teknikal:
Nampaknya mengetepikan parameter "charset=utf8" membolehkan pelayan mengesan pengekodan data JSON yang masuk secara automatik. Ini selalunya merupakan pendekatan yang diutamakan, kerana pengekodan harus telus pada lapisan aplikasi dan dikendalikan oleh mekanisme komunikasi asas.
Kesimpulan:
Dalam senario tertentu, ia adalah mungkin untuk menyelesaikan ralat "Jenis Media Tidak Disokong" HTTP 415 untuk permintaan JSON dengan menghapuskan spesifikasi set aksara daripada pengepala "Jenis-Kandungan". Pengubahsuaian mudah ini membolehkan pelayan memproses data JSON yang masuk dengan lancar, yang membawa kepada interaksi perkhidmatan REST yang berjaya.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 415 \"Jenis Media Tidak Disokong\" untuk Permintaan JSON Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!