Ax ios - получить URL с параметрами без фактического запроса - PullRequest
2 голосов
/ 20 марта 2020

У меня есть немного кода в моем проекте React, который выглядит следующим образом:

        const url = '/create-label-shipments.json';
        const filters = Object.assign({}, this.state.filters);
        filters.page = this.state.page;
        const response = await axios.get(url, {params: filters});

Теперь я знаю, что ax ios берет этот объект params и создает новый URL с параметрами запроса, как '/create-label-shipments.json?page=1&date=2020-03-20&etc...'

Я надеюсь, что смогу вызвать функцию ax ios в другой части моего кода, которая работает точно так же, как описано выше, но вместо того, чтобы делать запрос и давать мне ответ, это просто дает мне URL.

        const url = '/create-label-shipments.csv';
        const filters = Object.assign({}, this.state.filters);
        const url = await axios.getUrl(url, {params: filters});
        // at this point, no request was made, and url === '/create-label-shipments.csv?page=1&date=2020-03-20&etc...'

1 Ответ

3 голосов
/ 20 марта 2020

Возможно, вы после axios#getUri(), который вы могли бы использовать, добавив свойство params и свойство url к объекту конфигурации, переданному методу:

const params = {
  page: 1,
  date: '2020-03-20'
}

const url = '/create-label-shipments.csv';
const res = axios.getUri({url, params});

console.log(res);
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.19.2/axios.min.js" integrity="sha256-T/f7Sju1ZfNNfBh7skWn0idlCBcI3RwdLSS4/I7NQKQ=" crossorigin="anonymous"></script>
...