How-to. Rest API запросы с динамическими параметрами
Иногда нужно выполнить N запросов к рестовому API сервиса в цикле, но в каждом запросе должны быть свои значения параметра(ов) в пути или теле. Например, удалить несколько процессов в Camunda, у каждого процесса свой id, который необходимо подставить в запрос.
Что обычно использую:
- Встроенные возможности API-клиента Bruno: https://docs.usebruno.com/testing/automate-test/data-driven-testing . Из UI функционал доступен только по подписке, зато cli-клиент позволяет это сделать бесплатно. В Postman аналогично. Можно итерироваться по csv/json файлу с данными -> забирать значения для каждого запроса -> выполнять запрос с динамическими параметрами.
- Питоновский скрипт с использованием либы requests . В целом, можно соорудить в любом AI чате. Сразу указать, чтобы использовал объект сессии, не мудрил с обработкой ошибок на начальном этапе, добавил настраиваемую задержку между запросами.
- Нагенерить готовых ссылок и выполнить запросы прямо через curl
Я не фанат прямых походов в БД в обход бизнес-логики при наличии функционала в API, но можно и так
В эксплуатации также важно расшарить знание на команду, поэтому, хорошо еще написать понятную инструкцию.
· 07.07
Чего-то мне казалось, что в Camunda есть батчи и можно указать несколько id, которые удалят процессы.
Когда есть возможность не использовать цикл для такого удаления в API, то стоит его использовать. Дергать на удаление чего-либо в цикле может привести к неожиданным последствиям. ((:
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 07.07
Про батчевые операции согласна, если есть, лучше их использовать. Но бывает так, что имеешь только ограниченный набор. Достучаться с VM-ки можно только сюда: https://docs.camunda.org/rest/camunda-bpm-platform/7.22/#tag/Process-Instance/operation/deleteProcessInstance С удалением мб не самый удачный пример, но в целом эта возможность api-клиентов забирать данные из файла и подставлять переменные в запросы довольно прикольная
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 07.07
Да, с удалением не шутки в API. ((:
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён