axiosではparamsSerializerオプションを設定することで
クエリパラメータのシリアライズのフォーマットをカスタマイズすることができます。
デフォルト設定では配列のクエリパラメータは下記のようになります。
//array=[1,2]
array[]=1&array[]=2
このクエリパラメータのシリアライズ処理を以下のようにカスタマイズしてみます。
//array=[1,2]
array=1&array=2
カスタマイズ
クエリパラメータの変換に使用させていただくライブラリはこちらです。
https://github.com/ljharb/qs
import qs from "qs";
//クエリパラメータのパーサ
const paramsSerializer = params =>
qs.stringify(params, { arrayFormat: "repeat" });
//カスタマイズしたaxiosのインスタンスを生成します
const config = {
paramsSerializer
}
const _axios = axios.create(config);
カスタマイズしたaxiosのインスタンスを使用すると
配列がarray=1&array=2のようにシリアライズされます。
他にも色々なパターンにカスタマイズできるみたいですね。