Ralat Jenis Media Tidak Disokong HTTP 415 Semasa Menghantar Permintaan JSON
Apabila cuba untuk melaksanakan perkhidmatan REST dengan permintaan JSON, pengguna menghadapi Ralat "Jenis Media Tidak Disokong" HTTP 415. Walaupun menetapkan jenis kandungan permintaan kepada "application/json; charset=utf8," ia hanya berfungsi apabila tiada objek JSON disertakan dalam permintaan.
Menggunakan perpustakaan google-gson-2.2.4 dan bereksperimen dengan berbeza Pustaka JSON terbukti tidak berkesan.
Coretan kod berikut menggambarkan pelaksanaan:
<code class="java">// Code snippet removed for brevity</code>
Memeriksa nilai requestJson.toString(), yang mewakili badan JSON:
<code class="json">{"type":"arl","action":"remove","domain":"staging","objects":"http://www.example.com"}</code>
Penyelesaian:
Anehnya, mengalih keluar "charset=utf8" daripada sifat permintaan "Content-Type" ("Content-Type", "application/json; charset=utf8" ) menyelesaikan isu ini secara ajaib.
<code class="java">// Removed "charset=utf8" from "Content-Type" con.setRequestProperty("Content-Type", "application/json"); // Code snippet continues removed for brevity</code>
Sebab sebenar perubahan ini masih tidak diketahui, tetapi ia secara berkesan membenarkan permintaan JSON dihantar dan diproses dengan jayanya.
Atas ialah kandungan terperinci Mengapa Mengalih Keluar \"charset=utf8\" daripada \"Content-Type\" Membetulkan Ralat HTTP 415 \"Jenis Media Tidak Disokong\" Semasa Menghantar Permintaan JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!