首頁 > Java > java教程 > 主體

Java axios與spring前後端分離傳參規範是什麼

PHPz
發布: 2023-05-03 21:55:06
轉載
1226 人瀏覽過

一、@RequestParam註解對應的axios傳參方法

以下面的這段Spring java程式碼為例,介面使用POST協議,需要接受的參數分別是tsCode、indexCols、table。針對這個Spring的HTTP接口,axios該如何傳參?有幾種方法?我們來一一介紹。

@PostMapping("/line")
public List<? extends BaseEntity> commonEChart(@RequestParam String tsCode,
                                     @RequestParam String indexCols,
                                     @RequestParam String table){
登入後複製

1.1.params傳參(推薦)

使用axios實例的params進行傳參,就會將params參數格式化為x-www-form-urlencoded的格式,與後端參數一一對應即可傳參成功。這也是我推薦給大家的傳參方法!

return request({
    url: &#39;/chart/line&#39;,
    method: &#39;post&#39;,
    params: {   //注意这里的key是params
        tsCode,
        indexCols,
        table
    }
})
登入後複製

1.2.FormData傳參

也可以使用js的FormData物件進行參數格式化,同樣可以在Spring後端正確的使用@RequestParam註解進行參數接收。

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傳參

也可以使用qs.stringfy進行參數格式化,同樣可以在Spring後端正確的使用@ RequestParam註解進行參數接收。

import qs from "qs";

return request({
    url: &#39;/chart/line&#39;,
    method: &#39;post&#39;,
    data: qs.stringify({    //注意这里的key是data
        tsCode,
        indexCols,
        table
    })
})
登入後複製

要注意的是使用這種方法,需要手動設定header(Content-Type)

const service = axios.create({
    headers: {
        "Content-Type": "application/x-www-form-urlencoded"
    }
});
登入後複製

二、@RequestBody的axios傳參方法

java程式碼部分如下所示,DemoModel類別是一個實體類,包含名稱tsCode,indexCols,table三個字串成員變數。接收到的JSON格式參數會自動為demo物件的成員變數賦值。

@PostMapping("/line")
public List<? extends BaseEntity> commonEChart(@RequestBody DemoModel demo){
登入後複製

@RequestBody註解,預設接收JSON類型格式的資料。在axios中預設data傳參就會預設使用JSON資料格式,所以不用額外的特殊處理。

return request({
    url: &#39;/chart/line&#39;,
    method: &#39;post&#39;,
    data: {    //注意这里的key是data
        tsCode,
        indexCols,
        table
    }
})
登入後複製

以上是Java axios與spring前後端分離傳參規範是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板