Rumah > Java > javaTutorial > Apakah spesifikasi lulus parameter untuk Java axios dan spring front-end dan back-end separation?

Apakah spesifikasi lulus parameter untuk Java axios dan spring front-end dan back-end separation?

PHPz
Lepaskan: 2023-05-03 21:55:06
ke hadapan
1283 orang telah melayarinya

1. Kaedah pemindahan parameter axios yang sepadan dengan anotasi @RequestParam

Ambil kod java Spring berikut sebagai contoh Antara muka menggunakan protokol POST, dan parameter yang perlu diterima ialah tsCode. indexCols, dan jadual. Untuk antara muka HTTP Spring ini, bagaimanakah axios harus lulus parameter? Berapa banyak kaedah yang ada? Mari kita perkenalkan mereka satu persatu.

@PostMapping("/line")
public List<? extends BaseEntity> commonEChart(@RequestParam String tsCode,
                                     @RequestParam String indexCols,
                                     @RequestParam String table){
Salin selepas log masuk

1.1. Lulus Params (disyorkan)

Gunakan param contoh aksios untuk menghantar parameter, dan parameter params akan diformatkan ke dalam format x-www-form-urlencoded, dan maka Jika parameter akhir sepadan satu dengan satu, pemindahan parameter boleh berjaya. Ini juga kaedah lulus parameter yang saya cadangkan kepada semua orang!

return request({
    url: &#39;/chart/line&#39;,
    method: &#39;post&#39;,
    params: {   //注意这里的key是params
        tsCode,
        indexCols,
        table
    }
})
Salin selepas log masuk

1.2. Pemindahan parameter FormData

Anda juga boleh menggunakan objek FormData js untuk memformat parameter, dan anda juga boleh menggunakan anotasi @RequestParam dengan betul dalam bahagian belakang Spring untuk menerima parameter.

let params = new FormData();
params.append(&#39;tsCode&#39;, tsCode);
params.append(&#39;indexCols&#39;, indexCols);
params.append(&#39;table&#39;, table);
return request({
    url: &#39;/chart/line&#39;,
    method: &#39;post&#39;,
    data: params   //注意这里的key是data
})
Salin selepas log masuk

1.3.qs.stringfy pemindahan parameter

juga boleh menggunakan qs.stringfy untuk pemformatan parameter, dan anotasi @RequestParam juga boleh digunakan dengan betul dalam bahagian belakang Spring untuk penerimaan parameter.

import qs from "qs";

return request({
    url: &#39;/chart/line&#39;,
    method: &#39;post&#39;,
    data: qs.stringify({    //注意这里的key是data
        tsCode,
        indexCols,
        table
    })
})
Salin selepas log masuk

Perlu diambil perhatian bahawa menggunakan kaedah ini, anda perlu menetapkan pengepala (Jenis Kandungan) secara manual

const service = axios.create({
    headers: {
        "Content-Type": "application/x-www-form-urlencoded"
    }
});
Salin selepas log masuk

2 kaedah lulus parameter axios @RequestBody

java bahagian kod Seperti yang ditunjukkan di bawah, kelas DemoModel ialah kelas entiti dan mengandungi tiga pembolehubah ahli rentetan bernama tsCode, indexCols dan jadual. Parameter format JSON yang diterima akan secara automatik memberikan nilai kepada pembolehubah ahli objek demo.

@PostMapping("/line")
public List<? extends BaseEntity> commonEChart(@RequestBody DemoModel demo){
Salin selepas log masuk

@RequestBody anotasi, yang menerima data dalam format JSON secara lalai. Dalam aksios, penghantaran parameter data lalai akan menggunakan format data JSON secara lalai, jadi tiada pemprosesan khas tambahan diperlukan.

rreeee

Atas ialah kandungan terperinci Apakah spesifikasi lulus parameter untuk Java axios dan spring front-end dan back-end separation?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan