Rumah  >  Artikel  >  Java  >  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
PHPzke hadapan
2023-05-03 21:55:061229semak imbas

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){

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
    }
})

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
})

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
    })
})

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"
    }
});

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){

@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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:Apakah konsep java CASArtikel seterusnya:Apakah konsep java CAS