GETリクエストのURLパラメーターを介してAPIキーを渡そうとしています。
ただし、リクエストを送信するときにAxiosがAPIキーの文字をエンコードすることに気付きました。これにより、APIはキーを認識できなかったため、リクエストを拒否します。
AxiosがGETパラメーターをエンコードしないようにするにはどうすればよいですか?
次のように、カスタムparam serializerを使用できます。
axios.get('https://foobar.com/api', {
paramsSerializer: function(params) {
var result = '';
// Build the query string
return result;
}
});
paramsSerializer
はインスタンスレベルで設定できます。
var instance = axios.create({ paramsSerializer: function(params) { /* ... */ } })
またはグローバルレベルで:
axios.defaults.paramsSerializer = function(params) { /* ... */ };
別のオプションは、APIキーをURLに直接追加することです。
axios.get('https://foobar.com/api?api_key=' + key);
「params」設定オプションを使用して、追加のパラメーターを追加できます。
axios.get('https://foobar.com/api?api_key=' + key, {
params: {
foo: 'bar'
}
});