Фильтрация данных веб-сервиса

Пользователь

от Pavel , в категории: JavaScript , 8 месяцев назад

Коллеги, всем добрый день!

У меня возникла сложность с организацией логики фильтрации для веб-сервиса.

Прилагаю описание проблемы и логики, пример ответа веб-сервиса и пример URL.

Безмерно буду благодарен и признателен за любую помощь по вопросу!💖


Описание логики:

В текущий момент веб-сервис загружает огромный массив данных, но из всего массива мне необходимы только определенные значения.

Необходимо в URL передать переменную так, чтобы она отфильтровывала данные веб-сервиса по значению attr2="STATUS"


Задача:

  1. Настроить переменную фильтрации для веб-сервиса так, чтобы значение attr2 (входящего в массив items) было равно STATUS
  2. Передать данную переменную в URL для того, чтобы веб-сервис возвращал только отфильтрованный массив данных


Пример URL

1
https://web-service.ru/v32/folder/34182/folders/678421/logs


Пример ответа веб-сервиса

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
    "page": 1,
    "count": 40,
    "total_pages": 1,
    "items": [
        {
            "attr1": 4341342,
            "attr2": "STATUS",
            "attr3": 1353433,
            "attr4": 543413,
            "attr5": null,
            "attr6": null,
            "attr7": "2023-04-07T17:05:59+03:00",
            "attr8": null,
            "attr9": {
                "id": 4323344,
                "name": "Иванов Иван"
            },
        {
            "attr1": 544234,
            "attr2": "ADD",
            "attr3": 1353433,
            "attr4": 53413,
            "attr5": null,
            "attr6": null,
            "attr7": "2023-05-07T17:05:59+03:00",
            "attr8": null,
            "attr9": {
                "id": 4323344,
                "name": "Иванов Иван"
            }


Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от jaren , 8 месяцев назад

@Pavel  У вас есть уже какой то код или решение? Я думаю что можно решить задачку что то вроде такого:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// URL вашего веб-сервиса
const url = 'https://web-service.ru/v32/folder/34182/folders/678421/logs';

// Параметры запроса для фильтрации
const params = {
  attr2: 'STATUS'
};

// Преобразуем параметры запроса в строку для добавления к URL
const queryParams = new URLSearchParams(params).toString();

// Формируем полный URL с параметрами запроса
const fullUrl = `${url}?${queryParams}`;

// Выполняем запрос к веб-сервису
fetch(fullUrl)
  .then(response => {
    if (!response.ok) {
      throw new Error('Ошибка');
    }
    return response.json();
  })
  .then(data => {
    // Обрабатываем полученные данные
    console.log(data);
  })
  .catch(error => {
    console.error('Ошибка:', error);
  });