Menjadikan JQuery, Spring MVC @RequestBody dan JSON Bekerja Bersama
Latar Belakang
JSON ialah format data ringan yang digunakan secara meluas untuk memindahkan data antara aplikasi sisi klien seperti JQuery dan rangka kerja sebelah pelayan seperti Spring MVC. @RequestBody dalam Spring MVC membolehkan anda memetakan data JSON ke objek Java secara automatik. Ini berguna untuk menyahsiri data JSON menjadi kacang yang boleh diproses dalam aplikasi anda.
Masalahnya
Anda telah berjaya mengkonfigurasi aplikasi anda untuk mensirikan objek Java kepada JSON (@ResponseBody), tetapi anda tidak dapat menyahsiri data JSON ke dalam objek Java kembali (@RequestBody).
Penyelesaian
Untuk menjadikan @RequestBody berfungsi dengan betul, anda perlu mengkonfigurasi Spring MVC untuk menyokong penukaran mesej JSON. Ini boleh dilakukan dengan menambahkan kebergantungan berikut pada pom.xml anda:
<dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.4.2</version> </dependency>
Seterusnya, anda perlu mendaftarkan MappingJacksonHttpMessageConverter dalam konfigurasi Spring MVC anda. Di Java, ini boleh dilakukan dengan @EnableWebMvc:
@EnableWebMvc public class WebConfig {}
Atau dalam XML, anda boleh menambah ini pada web.xml anda:
<mvc:annotation-driven />
Contoh Penggunaan
Berikut ialah contoh yang menunjukkan cara menyediakan kaedah permintaan yang menerima JSON dan memetakannya ke Kaedah Java:
@RequestMapping(method = RequestMethod.POST, value = "math") @ResponseBody public Result math(@RequestBody final Request request) { final Result result = new Result(); result.setAddition(request.getLeft() + request.getRight()); result.setSubtraction(request.getLeft() - request.getRight()); result.setMultiplication(request.getLeft() * request.getRight()); return result; }
Dalam contoh ini, anda mempunyai titik akhir matematik yang menjangkakan jenis Permintaan, yang mengandungi dua sifat: kiri dan kanan. Titik akhir akan mengembalikan jenis Hasil, yang mengandungi hasil penambahan, penolakan dan pendaraban sifat kiri dan kanan.
Pengujian
Anda boleh menguji anda aplikasi dengan menghantar permintaan POST dengan data JSON ke titik akhir matematik. Tanggapan hendaklah merupakan perwakilan JSON daripada jenis Hasil.
Atas ialah kandungan terperinci Bagaimana untuk Mengintegrasikan jQuery, Spring MVC @RequestBody dan JSON untuk Pemindahan Data Lancar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!