Axios: URL-адрес доступа с сериализованной строкой запроса

#axios

#axios

Вопрос:

Есть ли способ получить доступ к полному URL-адресу, к которому Axios отправляет запрос, с параметрами строки запроса?

Я делаю запрос с:

 async function makeRequest(url: string, query: Record<string, unknown>): Promise<unknown> {
  const params = querystring.stringify(query);
  const response = await axios.request({
    method: 'get',
    url,
    params,
  });
  return response.data;
}
 

Учитывая значение для query { foo: 'bar', baz: 'bat' } и url https://api.example.org , как я могу получить доступ к полному URL https://api.example.org?foo=baramp;baz=bat -адресу?

У объекта должно быть request? свойство AxiosResponse , которое, как я надеялся, будет содержать ссылку на URL, однако это всегда undefined в моем тестировании.

Комментарии:

1. Вы могли бы сделать url '?' Object.entries(query).map(v => v.join('=')).join('amp;') , если я правильно понимаю. Но имейте в виду, что это не приведет к процентному кодированию значений.

2. Спасибо за ответ. Мне не нужно знать, как создать URL-адрес для себя. Я хочу получить URL-адрес, который создает Axios, чтобы я мог его отладить. Приведенный выше лишь минимальный пример. Фактический URL-адрес, который я создаю, более сложный.