clean_api_codegen 0.1.2 copy "clean_api_codegen: ^0.1.2" to clipboard
clean_api_codegen: ^0.1.2 copied to clipboard

Clean architecture code generator for OpenAPI (REST/JSON) that produces data/domain layers.

clean_api_codegen #

Генератор data/domain слоя по OpenAPI (REST, JSON) с раскладкой по clean architecture.

Возможности #

  • Генерация структуры data и domain из OpenAPI спецификации
  • Разбиение по сущностям: отдельные файлы для DTO/Entity/Repository/UseCase
  • Поддержка query‑параметров
  • Запуск одной командой, без build_runner
  • Автоматическое добавление зависимостей в pubspec.yaml (можно отключить вручную)

Установка #

Добавьте пакет в dev_dependencies.

dev_dependencies:
  clean_api_codegen: ^0.1.1

Быстрый старт #

Запуск генерации:

dart run clean_api_codegen:clean_api_codegen --spec path/to/spec.yaml

Переопределить имя папки фичи:

dart run clean_api_codegen:clean_api_codegen --spec path/to/spec.yaml --feature feature_name

Структура, которую создаёт генератор #

lib/features/<feature>/
  data/
    models/
      <entity>_dto.dart
    datasources/
      <entity>_remote_data_source.dart
    repositories/
      <entity>_repository_impl.dart
  domain/
    entities/
      <entity>.dart
    repositories/
      <entity>_repository.dart
    usecases/
      get_<method>.dart

Как формируются имена #

  • <feature> берётся из info.title в YAML или из имени файла, либо из --feature
  • DTO: <Entity>Dto
  • Entity: <Entity>
  • Repository: <Entity>Repository
  • UseCase:
    • если operationId есть и начинается с get, используется GetXxx
    • иначе Get<MethodName>

Что меняется в проекте #

  • Генератор создаёт/перезаписывает файлы в lib/features/<feature>/...
  • Добавляет зависимости в pubspec.yaml:
    • equatable
    • dartz
    • http

Ограничения #

  • Только REST (GET/POST)
  • Только application/json
  • Поддерживается ответ с data массивом и $ref на объект
  • Генерация не трогает UI и DI, только data/domain
3
likes
120
points
--
downloads

Publisher

unverified uploader

Weekly Downloads

Clean architecture code generator for OpenAPI (REST/JSON) that produces data/domain layers.

Topics

#codegen #openapi #clean-architecture

Documentation

API reference

License

MIT (license)

Dependencies

analyzer, build, path, source_gen, yaml

More

Packages that depend on clean_api_codegen