Что делает этот инструмент OpenAPI
Frontend работа часто начинается до того, как backend готов, и рукописные типы для API, который уже имеет спецификацию, - это напрасные усилия. Вставьте документ OpenAPI 3.x или Swagger 2.0 в JSON или YAML, и этот инструмент генерирует три вещи: реалистичные **мока ответы ** для каждой операции, **TypeScript типы ** для всех схем, и небольшой типизированный ** fetch клиент ** с одной функцией на конечную точку. Все создается в вашем браузере, поэтому частные или внутренние API-спецификации никогда не загружаются.
Как пользоваться
- Вставьте свою спецификацию или загрузите файл. Принимаются как JSON, так и YAML.
- Список конечных точек показывает каждую операцию с ее методом и маршрутом.
- Откройте вкладку мока данных и выберите операцию, чтобы увидеть ответ на образец, построенный из примеров схем, форматов и списков.
- Переключение на типы TS для интерфейсов, сгенерированных из
components/schemas(илиdefinitionsв Swagger 2). - Переключитесь на TS client для готового к использованию клиента и скопируйте его в свой проект.
Как создаются маски
- Значения
exampleиexamplesвсегда выигрывают. enumвыбирает первое значение;defaultуважается.- Форматы строки производят правдоподобные значения:
email,uuid,date-time,uri,ipv4и так далее. - Имена объектов дают подсказки, поэтому
name,priceилиcreatedAtвыглядят реалистично. $ref,allOf,oneOfиanyOfразрешены; рекурсивные ссылки безопасно отрезаны.- Моки детерминированы по каждой операции, поэтому они не меняются при каждом обновлении.
Использование созданного клиента
Клиент экспортирует константу BASE_URL и одну асинхронную функцию на операцию, названную в честь operationId (или метода и пути при отсутствии), с введенными параметрами пути, параметрами запроса и телом запроса, возвращая введенный ответ. Он зависит только от fetch, поэтому работает в браузерах, Node 18+, Deno и Bun.