Как создать подобный URL при использовании axios?

Как правильно сформулировать запрос API с параметром, содержащим повторяющиеся имена, но различные значения? Как правильно передать такие параметры в запросе?
  • 4 мая 2024 г. 22:20
Ответы на вопрос 2
Для создания подобного URL при использовании axios, вы можете воспользоваться следующим примером:

```javascript
const axios = require('axios');

const paramValues = ['value1', 'value2', 'value3']; // пример значений параметра

const params = paramValues.map(value => `param=${value}`).join('&');

axios.get(`https://api.example.com/?${params}`)
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error(error);
  });
```

Чтобы сформулировать запрос API с параметром, содержащим повторяющиеся имена, но различные значения, вы можете использовать массив для хранения значений параметра и затем с помощью метода `map` создать строку с параметрами, объединив их с помощью `&`.

Например, если у вас есть параметр `param`, и вам нужно передать значения `value1`, `value2` и `value3`, вы можете создать параметры в строке запроса в виде `param=value1&param=value2&param=value3`.

При передаче таких параметров в запросе, вы можете использовать приведенный выше пример с axios, чтобы передать значения параметра в виде массива и сформировать соответствующую строку запроса.
<a href="https://github.com/axios/axios/#request-config" rel="nofollow">https://github.com/axios/axios/#request-config</a> <br/> <br/> Нужно использовать <code>paramsSerializer.indexes</code> <br/> <br/> <blockquote>Configuration for formatting array indexes in the params. <br/>
Three available options:<br/>
  (1) indexes: null (leads to no brackets),<br/>
  (2) (default) indexes: false (leads to empty brackets),<br/>
  (3) indexes: true (leads to brackets with indexes).<br/>
</blockquote> <br/> <br/> <pre><code class="javascript">axios.get('https://api.kinopoisk.dev/v1.4/movie', {
  params: {
    page: page,
    limit: limit,
    notNullFields: ['poster.url', 'movieLength']
  },
  paramsSerializer: {
    indexes: null
  }
});</code></pre>
Похожие вопросы