ホームページ >Java >&#&チュートリアル >Java axios と Spring のフロントエンドとバックエンドの分離のパラメータ受け渡し仕様は何ですか?
次の Spring Java コードを例として、インターフェイスは POST プロトコルを使用し、受け入れる必要があるパラメータは tsCode、 IndexCols、およびテーブル。この Spring HTTP インターフェイスの場合、axios はどのようにパラメータを渡すべきでしょうか?方法は何通りありますか?一つずつ紹介していきましょう。
@PostMapping("/line") public List<? extends BaseEntity> commonEChart(@RequestParam String tsCode, @RequestParam String indexCols, @RequestParam String table){
axios インスタンスの params を使用してパラメータを渡します。params パラメータは x-www-form-urlencoded 形式にフォーマットされます。終了パラメータが 1 対 1 に対応していれば、パラメータの転送は成功します。これも皆さんにオススメしたいパラメータの受け渡し方法です!
return request({ url: '/chart/line', method: 'post', params: { //注意这里的key是params tsCode, indexCols, table } })
パラメータの書式設定に js の FormData オブジェクトを使用することもできます。また、Spring で @RequestParam
アノテーションを正しく使用することもできます。パラメータのバックエンド。引き継ぎます。
let params = new FormData(); params.append('tsCode', tsCode); params.append('indexCols', indexCols); params.append('table', table); return request({ url: '/chart/line', method: 'post', data: params //注意这里的key是data })
パラメータの書式設定に qs.stringfy
を使用することもできます。これは Spring バックエンドでも正しく使用できます @RequestParam
アノテーションはパラメータを受け取ります。
import qs from "qs"; return request({ url: '/chart/line', method: 'post', data: qs.stringify({ //注意这里的key是data tsCode, indexCols, table }) })
このメソッドを使用する場合、ヘッダー(Content-Type)を手動で設定する必要があることに注意してください
const service = axios.create({ headers: { "Content-Type": "application/x-www-form-urlencoded" } });
javaコード部分 以下に示すように、DemoModel クラスはエンティティ クラスであり、tsCode、indexCols、および table という名前の 3 つの文字列メンバー変数が含まれています。受信したJSON形式のパラメータは、デモオブジェクトのメンバー変数に自動的に値を割り当てます。
@PostMapping("/line") public List<? extends BaseEntity> commonEChart(@RequestBody DemoModel demo){
@RequestBody
アノテーション。デフォルトでは JSON 形式でデータを受け取ります。 axios では、デフォルトのデータパラメータの受け渡しではデフォルトで JSON データ形式が使用されるため、追加の特別な処理は必要ありません。
以上がJava axios と Spring のフロントエンドとバックエンドの分離のパラメータ受け渡し仕様は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。