Saat ini saya menggunakan Vue dan Spring Boot. Di antara keduanya, komunikasi dilakukan dengan menggunakan aksio. Namun, ketika saya mencoba untuk memberikan satu nilai ke Spring Boot dari Vue, Spring saya terus meminta "Parameter permintaan yang diperlukan" testparam "... tidak ada"

Inilah cara saya mengirim dari Vue ke Spring:

axios
    .post("url/test", {
        testparam: 1,
        })
        .then((response) => {
            console.log(response.data);
        })
        .catch((error) => {
            console.log(error.message);
        });

Dan inilah cara saya menerimanya dari Spring:

@PostMapping(path = "/test")
@ResponseBody
public Integer test1(@RequestParam(name = "testparam") Integer testparam) {
    System.out.println(testparam);
    return testparam;
}
0
CodeName 30 September 2021, 21:21

2 jawaban

Jawaban Terbaik

Anda mengharapkan param kueri, dan dalam panggilan Axios Anda, Anda mengirim param di badan permintaan. Untuk memperbaikinya, cukup kirimkan seperti ini:

axios.post("url/test", {}, { params: { testparam: 1 } })
1
Branislav Lazic 30 September 2021, 18:34

Cukup ubah sintaks untuk meneruskan requestParam dengan menggunakan like params: { testparam: 1 }

axios
    .post("url/test", { 
          params: { 
            testparam: 1
          }
        })
        .then((response) => {
            console.log(response.data);
        })
        .catch((error) => {
            console.log(error.message);
        });
0
Jimmy 30 September 2021, 19:18