Типи OpenAPI у TypeScript
Перетворіть документ OpenAPI або Swagger у інтерфейси та типи TypeScript.
Типи OpenAPI у TypeScript
Вставте документ OpenAPI 3 або Swagger 2 — JSON або YAML — і цей інструмент генерує відповідні інтерфейси TypeScript для кожної схеми в components/schemas, плюс один тип на кінцеву точку для її шляху та параметрів запиту, тіла запиту та відповідей. Це звільняє від необхідності вручну писати типи API щоразу, коли змінюється специфікація, і тримає клієнта синхронізованим з тим, що насправді повертає сервер.
Опції керують формою вихідних даних. Виберіть оголошення interface або type, і вирішіть, як представляються поля з null: як необов'язкова властивість (x?: string) або як об'єднання з null (x: string | null). Посилання $ref можуть або залишатися як іменовані типи, що вказують на відповідний інтерфейс, або бути розгорнутими вбудовано везде, де вони використовуються. Вимкніть "Генерувати типи шляху, параметрів та відповідей", щоб отримати лише схеми компонентів, або включіть об'єднання кодів стану, щоб побачити кожен код відповіді, який може повернути кінцева точка, як один тип. Описи зі специфікації стають JSDoc-коментарями над кожним полем, а префікс імені захищає згенеровані типи від конфлікту з вашими власними при вставці їх у велику кодову базу.
Парсер читає стандартні конструкції OpenAPI — схеми об'єктів та масивів, перелічення, oneOf/anyOf/allOf, nullable, additionalProperties — і слідує локальним указівникам $ref у межах одного документа. Кінцеві точки, позначені як застарілі, можна повністю пропустити, а документ, який не виглядає як OpenAPI (немає розділу components/schemas або paths), видає зрозумілу помилку замість порожнього виходу.
Усе виконується локально у вашому браузері — ваша специфікація API, яка може описувати неопубліковану продукцію або внутрішню систему, ніколи не завантажується ніде. Скопіюйте згенеровані типи, завантажте їх як файл .txt для вставки в файл .ts або відправте вихід безпосередньо назад на вхід, щоб продовжити вдосконалення.