Категории

Генератор OpenAPI в TypeScript

Преобразует спецификации OpenAPI или Swagger в формате JSON/YAML в типы TypeScript, параметры запросов и модели ответов с настраиваемым форматом вывода и стилем имен

Примеры результатов

1 Примеры

Сгенерировать плоские API-типы из OpenAPI

Преобразует небольшой документ OpenAPI в экспортируемые интерфейсы TypeScript и контракты эндпоинтов

export interface User {
  id: string;
  name: string;
}

export interface GetUserPath {
  id: string;
}

export type GetUserResponse = { status: "200"; data: User };
Показать параметры ввода
{ "specInput": "openapi: 3.0.0\ninfo:\n title: User API\n version: 1.0.0\npaths:\n /users/{id}:\n get:\n operationId: getUser\n parameters:\n - in: path\n name: id\n required: true\n schema:\n type: string\n responses:\n \"200\":\n description: ok\n content:\n application/json:\n schema:\n $ref: \"#/components/schemas/User\"\ncomponents:\n schemas:\n User:\n type: object\n required: [id, name]\n properties:\n id:\n type: string\n name:\n type: string", "sourceFormat": "yaml", "outputFormat": "flat", "namingStyle": "pascal", "declarationStyle": "interface", "namespaceName": "Api", "includeOperationTypes": true, "includeDescriptions": true }

Ключевые факты

Категория
Development
Типы входных данных
textarea, select, text, checkbox
Тип результата
text
Покрытие примерами
4
API доступен
Yes

Обзор

Генератор OpenAPI в TypeScript позволяет мгновенно преобразовывать спецификации API в формате JSON или YAML в готовые интерфейсы и типы TypeScript, обеспечивая строгую типизацию данных и ускоряя разработку фронтенд-приложений.

Когда использовать

  • При необходимости быстро синхронизировать фронтенд-модели с изменениями в API бэкенда.
  • Для автоматизации создания типизированных контрактов запросов и ответов на основе Swagger-документации.
  • Когда требуется стандартизировать именование типов и структуру данных в крупном проекте.

Как это работает

  • Вставьте содержимое вашей спецификации OpenAPI или Swagger в поле ввода.
  • Выберите желаемый стиль именования (PascalCase, camelCase) и формат объявления (interface или type).
  • Настройте дополнительные параметры, такие как включение описаний или типов операций.
  • Нажмите кнопку генерации, чтобы получить готовый код TypeScript, готовый к копированию в ваш проект.

Сценарии использования

Автоматическая генерация моделей данных для клиентской части приложения на React или Vue.
Создание типизированных параметров запросов для HTTP-клиентов, таких как Axios или Fetch.
Поддержание актуальности документации и типов при частых изменениях в API-контрактах.

Примеры

1. Генерация типов для пользовательского API

Frontend-разработчик
Контекст
Разработчик получил обновленную спецификацию API в формате YAML и должен обновить типы данных в приложении.
Проблема
Ручное написание интерфейсов занимает много времени и чревато ошибками в именах полей.
Как использовать
Вставить YAML-спецификацию в поле ввода, выбрать стиль 'PascalCase' и 'interface'.
Пример конфигурации
sourceFormat: yaml, outputFormat: flat, namingStyle: pascal, declarationStyle: interface
Результат
Получены готовые интерфейсы User и GetUserResponse, которые можно сразу использовать в коде.

Проверить на примерах

json, yaml

Связанные хабы

FAQ

Какие форматы спецификаций поддерживает инструмент?

Инструмент поддерживает спецификации OpenAPI и Swagger в форматах JSON и YAML.

Можно ли выбрать между интерфейсами и псевдонимами типов?

Да, в настройках можно выбрать 'Интерфейс' или 'Псевдоним типа' (type) для генерации объявлений.

Как инструмент обрабатывает описания из спецификации?

Если включена опция 'Добавить описания', инструмент перенесет комментарии из OpenAPI в JSDoc-аннотации к сгенерированным типам.

Что такое 'Плоские экспорты' в формате вывода?

Этот режим создает набор независимых экспортируемых типов, что удобно для небольших проектов или при импорте отдельных моделей.

Нужно ли устанавливать дополнительные библиотеки?

Нет, инструмент генерирует чистый TypeScript-код, который не требует специфических зависимостей для работы.

Документация API

Конечная точка запроса

POST /ru/api/tools/openapi-to-typescript-generator

Параметры запроса

Имя параметра Тип Обязательно Описание
specInput textarea Да -
sourceFormat select Нет -
outputFormat select Нет -
namingStyle select Нет -
declarationStyle select Нет -
namespaceName text Нет -
includeOperationTypes checkbox Нет -
includeDescriptions checkbox Нет -

Формат ответа

{
  "result": "Processed text content",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}
Текст: Текст

Документация MCP

Добавьте этот инструмент к конфигурации сервера MCP:

{
  "mcpServers": {
    "elysiatools-openapi-to-typescript-generator": {
      "name": "openapi-to-typescript-generator",
      "description": "Преобразует спецификации OpenAPI или Swagger в формате JSON/YAML в типы TypeScript, параметры запросов и модели ответов с настраиваемым форматом вывода и стилем имен",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=openapi-to-typescript-generator",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Вы можете объединять несколько инструментов, например: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, максимум 20 инструментов.

Если вы столкнулись с проблемами, пожалуйста, свяжитесь с нами по адресу [email protected]