Сгенерировать описание REST api (OpenAPI yaml) из результатов запросов, которыми обмениваются при вызове существующего API в Интернете, не документированного, не изменяемого?

REST API уже много лет находится в разработке. Это не задокументировано и не может быть изменено.

Чтобы провести на нем тяжелое тестирование, было бы удобно найти способ сгенерировать классы клиентских заглушек с помощью OpenAPI, который поможет писать эти тесты и выполнять их вызов.

Но для этого OpenAPI необходимо какое-то описание yaml целевых служб REST. Чтобы написать это от руки, потребуются годы: сейчас уже слишком поздно.

Существует ли способ с помощью самого инструмента OpenAPI или другого средства выполнить вызов REST, который, как мы знаем, работает, и заставить инструмент вывести примитивы и структуры входных и выходных параметров из HTTP-обмена? Хотя бы для создания необходимого файла yaml?

Есть несколько инструментов, которые вы можете использовать для перехвата и записи вызовов REST, например: Fiddler2, SoapUI или Postman. Но они не будут генерировать OpenAPI.yaml. Должна быть возможность по крайней мере сгенерировать конечные точки и примеры вызовов, но невозможно сгенерировать JSON-схему исключительно из существующего ввода / вывода.

GreyFairer 30.03.2021 11:00

Вот это: github.com/ePages-de/restdocs-api-spec, но он начинается с тестов Spring MockMVC, поэтому он бесполезен, когда он вам нужен перед началом написания тестов. И, я думаю, он также не генерирует json-схему.

GreyFairer 30.03.2021 11:28
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
13
0

Другие вопросы по теме