Java axios と Spring のフロントエンドとバックエンドの分離のパラメータ受け渡し仕様は何ですか?

PHPz
リリース: 2023-05-03 21:55:06
転載
1182 人が閲覧しました

1. @RequestParam アノテーションに対応する axios パラメータ転送メソッド

次の Spring Java コードを例として、インターフェイスは POST プロトコルを使用し、受け入れる必要があるパラメータは tsCode、 IndexCols、およびテーブル。この 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 形式にフォーマットされます。終了パラメータが 1 対 1 に対応していれば、パラメータの転送は成功します。これも皆さんにオススメしたいパラメータの受け渡し方法です!

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
    })
})
ログイン後にコピー

このメソッドを使用する場合、ヘッダー(Content-Type)を手動で設定する必要があることに注意してください

const service = axios.create({
    headers: {
        "Content-Type": "application/x-www-form-urlencoded"
    }
});
ログイン後にコピー

2. @RequestBody の axios パラメータ引き渡しメソッド

javaコード部分 以下に示すように、DemoModel クラスはエンティティ クラスであり、tsCode、indexCols、および table という名前の 3 つの文字列メンバー変数が含まれています。受信したJSON形式のパラメータは、デモオブジェクトのメンバー変数に自動的に値を割り当てます。

@PostMapping("/line")
public List<? extends BaseEntity> commonEChart(@RequestBody DemoModel demo){
ログイン後にコピー

@RequestBody アノテーション。デフォルトでは JSON 形式でデータを受け取ります。 axios では、デフォルトのデータパラメータの受け渡しではデフォルトで JSON データ形式が使用されるため、追加の特別な処理は必要ありません。

rree

以上がJava axios と Spring のフロントエンドとバックエンドの分離のパラメータ受け渡し仕様は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!