Spring JSON Request Returning 406 (Not Acceptable)
Apabila cuba menghantar permintaan JSON kepada pengawal Spring MVC, sesetengah pengguna menghadapi masalah Ralat "406 Tidak Boleh Diterima". Isu ini berpunca daripada ketidakpadanan antara jenis kandungan yang diminta ("application/json") dan keupayaan tindak balas pengawal.
Dalam Spring MVC, kaedah pengawal dianotasi dengan "@ResponseBody" untuk menunjukkan bahawa nilai pulangan hendaklah ditulis pada badan respons HTTP sebagai JSON. Walau bagaimanapun, jika HTTPMessageConverter yang betul tidak didaftarkan dalam konteks aplikasi, Spring tidak akan dapat menukar nilai pulangan kepada format yang diminta.
Punca biasa ralat ini ialah ketiadaan perpustakaan Jackson dalam aplikasi laluan kelas. Perpustakaan Jackson menyediakan HTTPMessageConverter yang bertanggungjawab untuk menukar objek Java kepada JSON dan sebaliknya.
Untuk menyelesaikan isu ini, ikut langkah berikut:
Pastikan perpustakaan Jackson berikut disertakan dalam laluan kelas aplikasi:
Jika anda menggunakan Spring 3.0 atau lebih baru, tambahkan baris berikut pada fail konfigurasi spring-servlet.xml untuk mendayakan konfigurasi MVC dipacu anotasi:
<code class="xml"><mvc:annotation-driven /></code>
Dengan melaksanakan langkah-langkah ini, HTTPMessageConverter akan didaftarkan dan Spring akan dapat menukar nilai pulangan pengawal kepada JSON seperti yang dijangkakan .
Atas ialah kandungan terperinci Mengapa saya mendapat Ralat 406 (Tidak Boleh Diterima) Semasa Menghantar Permintaan JSON kepada Pengawal MVC Spring Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!