Files
api-codegen/README.md
S.Gromov 15ed8c8b8d feat: инициализация API CodeGen
CLI утилита для генерации TypeScript API клиента из OpenAPI спецификации.
- Поддержка локальных файлов и URL для спецификаций
- Кастомизация имени выходного файла через флаг --name
- Генерация типизированного клиента с SWR хуками
- Минимальный вывод логов для лучшего UX
2025-10-26 22:30:58 +03:00

1.5 KiB
Raw Blame History

API CodeGen

CLI утилита для генерации TypeScript API клиента из OpenAPI спецификации.

Установка

bun install

Использование

api-codegen -u <URL> -i <INPUT> -o <OUTPUT> [-n <NAME>]

Аргументы:

  • -u, --url <url> - Базовый URL API
  • -i, --input <path> - Путь к OpenAPI файлу (локальный или URL)
  • -o, --output <path> - Директория для сохранения файлов
  • -n, --name <name> - Имя сгенерированного файла (опционально)

Примеры:

# Локальный файл
api-codegen -u https://api.example.com -i ./openapi.json -o ./src/api

# URL на спецификацию
api-codegen -u https://api.example.com -i https://petstore.swagger.io/v2/swagger.json -o ./src/api

# С кастомным именем файла
api-codegen -u https://api.example.com -i ./openapi.json -o ./src/api -n MyApiClient

Пример использования

import { Api, HttpClient } from './src/api/Api';

const httpClient = new HttpClient();
httpClient.setSecurityData({ token: 'jwt-token' });

const api = new Api(httpClient);

// GET запрос
const user = await api.auth.getProfile();

// POST запрос
const result = await api.auth.login({ email, password });

// React + SWR
function Profile() {
  const { data } = useSWR('/auth/me', () => api.auth.getProfile());
  return <div>{data?.email}</div>;
}

Лицензия

MIT