OpenAPI в качестве формата хранения данных
Работаю над flow builder, где на flow можно добавлять ноды и соединять их между собой (как в integromat, zapier или rapidapi).
В моём случае нода - это по сути postman, но который имеет лишь 1 endpoint и один http метод. Т.е. одной ноде я назначаю: url, method, body, query, path и headers. Напр. "https://api.telegram.org/bot<MY_KEY>/getUpdates", "POST", {'chat_id': ''}, ...
Поступило предложение хранить и обрабатывать эту информацию для ноды в формате OpenAPI. Т.е. получим примерно следующее:
{
"openapi": "3.0.2",
"paths": {
"/getUpdates": {
"post": {
"requestBody": {
...
}
}
}
}
}
По этим данным нужно отрисовать ноды на canvas, можно будет менять параметры на лету, при запуске ноды (execute) всю информацию берём из этих данных для http request.
Вопросы:
- насколько сложно будет работать с такой структурой (чтение/обновление/удаление конкретных полей объекта);
- решит ли эти задачи swagger-parser (javascript), если работа с этими данными будет происходить и на клиенте и на сервере;
- это усложнение и лучше использовать более простую структуру ИЛИ всё же формат openapi, который имеет документацию для новых разработчиков будет понятнее;
Кстати формат будет расширяться кастомными полями, что нарушит структуру openapi.