API Client Generator — это инструмент для автоматической генерации клиентского кода на основе Swagger (OpenAPI) спецификации. С его помощью можно генерировать:
- Pydantic модели для запросов (Request) и ответов (Response)
- Клиентские классы для вызова эндпоинтов API (с группировкой по тегам)
- Локальный фасад для объединения клиентских классов в единый интерфейс
- Глобальный фасад для работы с несколькими API клиентами
Установите пакет со всеми зависимостями через pip
:
pip install git+https://github.com/liis-dev-team/api-client-generator.git@django-parse
Этот модуль позволяет автоматически генерировать случайны данные для любых Pydantic-моделей. Он особенно полезен для тестирования, создания фиктивных данных и заполнения запросов или ответов, определённых в Swagger (OpenAPI) спецификации.
- GenerateData
ИспользуетRandomValueGenerator
для заполнения всех (или только обязательных/опциональных) полей Pydantic-модели и создания экземпляра модели без полной валидации.
my-api-client --swagger-url <URL_к_Swagger_JSON>
my-api-client --swagger-url my-api-client --swagger-url <URL_к_Swagger_JSON> --django
http_clients/
└── <service_name>/
├── models.py # Pydantic модели для запросов (Request) и ответов (Response)
├── facade.py # Локальный фасад, объединяющий клиентские классы
└── endpoints/ # Клиентские классы, сгенерированные по тегам
├── <tag1>_client.py
├── <tag2>_client.py
└── ...