Rumah > Java > javaTutorial > Bolehkah Anda Melewati Berbilang Pembolehubah dalam Badan Permintaan kepada Pengawal MVC Spring Menggunakan Ajax?

Bolehkah Anda Melewati Berbilang Pembolehubah dalam Badan Permintaan kepada Pengawal MVC Spring Menggunakan Ajax?

Mary-Kate Olsen
Lepaskan: 2024-11-10 02:04:02
asal
1076 orang telah melayarinya

Can You Pass Multiple Variables in a Request Body to a Spring MVC Controller Using Ajax?

Melalui Berbilang Pembolehubah dalam @RequestBody kepada Pengawal MVC Spring Menggunakan Ajax

Apabila cuba menghantar berbilang pembolehubah dalam badan permintaan kepada Spring Pengawal MVC menggunakan Ajax, anda mungkin menghadapi persoalan sama ada perlu untuk menyertakan pembolehubah dalam objek sandaran.

Pertanyaan asal menyatakan hasrat untuk mencapainya menggunakan pendekatan berikut:

@RequestMapping(value = "/Test", method = RequestMethod.POST)
@ResponseBody
public boolean getTest(@RequestBody String str1, @RequestBody String str2) {}
Salin selepas log masuk

Dengan data JSON yang menyerupai:

{
    "str1": "test one",
    "str2": "two test"
}
Salin selepas log masuk

Walau bagaimanapun, pengarang menghadapi keperluan untuk menggunakan objek pemegang sebaliknya:

@RequestMapping(value = "/Test", method = RequestMethod.POST)
@ResponseBody
public boolean getTest(@RequestBody Holder holder) {}
Salin selepas log masuk

Dan mengiringi JSON:

{
    "holder": {
        "str1": "test one",
        "str2": "two test"
    }
}
Salin selepas log masuk

Dilemanya terletak pada hakikat bahawa @RequestBody memerlukan pemetaan pada objek tunggal, menjadikan penggunaan berbilang parameter dalam badan permintaan mencabar.

Walaupun penyelesaian yang dinyatakan di atas yang melibatkan objek pemegang adalah penyelesaian yang sah, pendekatan alternatif tersedia menggunakan objek Peta:

@RequestMapping(value = "/Test", method = RequestMethod.POST)
@ResponseBody
public boolean getTest(@RequestBody Map<String, String> json) {
   //json.get("str1") == "test one"
}
Salin selepas log masuk

Kaedah ini menyediakan cara yang fleksibel untuk mengendalikan berbilang pembolehubah yang diluluskan dalam badan permintaan, membenarkan akses kepada mereka melalui kekunci peta.

Selain itu , jika anda lebih suka untuk mengikat ObjectNode Jackson untuk berfungsi dengan pokok JSON penuh, anda boleh menggunakan yang berikut:

public boolean getTest(@RequestBody ObjectNode json) {
   //json.get("str1").asText() == "test one"
}
Salin selepas log masuk

Alternatif ini memperkasakan anda dengan berbilang pilihan untuk mengendalikan berbilang pembolehubah dalam badan permintaan, memberikan anda fleksibiliti untuk memilih pendekatan yang paling sesuai dengan keperluan khusus anda.

Atas ialah kandungan terperinci Bolehkah Anda Melewati Berbilang Pembolehubah dalam Badan Permintaan kepada Pengawal MVC Spring Menggunakan Ajax?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan