Aus öffentlichen Paketdaten erstellte Orientierung.
Ein Flutter/Dart-Paket, das Client-SDKs aus OpenAPI-Spezifikationen generiert und sich an dem npm openapi-generator-cli orientiert. Es automatisiert die Erstellung sicherer Dart-Code für API-Interaktionen, reduziert manuelle Aufwand und mögliche Fehler. Der generierte Code unterstützt mehrere Plattformen wie Android, iOS, Web, macOS, Windows und Linux und ermöglicht eine konsistente Nutzung des API-Clients über verschiedene Umgebungen hinweg. Ideal für Teams, die auf OpenAPI/Swagger-Definitionen angewiesen sind, um robuste und aktuelle API-Integrationen in ihren Anwendungen zu gewährleisten.
Anwendungsfälle
Automatisierung der API-Client-Erstellung aus OpenAPI-Spezifikationen
Integration von REST-APIs mit Typensicherheit
Plattformübergreifende API-Clients für Flutter-Apps
API-Verträge in Einklang mit Backend-Änderungen halten
Reduzierung von Boilerplate in API-Dienstschichten
Hauptmerkmale
Generiert Dart-Code aus OpenAPI 3.x-Spezifikationen
Unterstützt Multiplattform-Ausgabe
Erzeugt typsichere API-Modelle und -Dienste
Integration über Flutter pub add
Verwendet einen CLI-ähnlichen Workflow
Geeignet für
Flutter-Entwickler, die OpenAPI-definierte APIs verwenden
Teams, die automatisierte API-Client-Updates benötigen
Projekte, die eine konsistente API-Integration über Plattformen erfordern
Entwickler, die manuelle API-Dienst-Codierung reduzieren möchten
Hinweise
Gültige OpenAPI-Spezifikationsdatei erforderlich
Generierter Code muss möglicherweise für komplexe Endpunkte angepasst werden
Am besten in CI/CD-Pipelines zur Konsistenz verwendet
Keine Laufzeitbibliothek – generiert nur Quellcode
Original-README
Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.
openapi-generator-dart
Like this library? Give us a star or a like!
⚠️ Java Requirement
Java is required to use this library.
The OpenAPI Generator CLI is a Java application.
Please ensure you have Java (version 8 or higher) installed and available in your system PATH.
You can check your Java installation with:
java -version
If you do not have Java installed, download it from Adoptium or Oracle.
⚠️ Deprecation & Breaking Change Notice
skipIfSpecIsUnchanged is Deprecated
The skipIfSpecIsUnchanged option is now deprecated and will be removed in the next major release.
Local OpenAPI specs are now automatically watched for changes.
If your spec file is in the lib/ folder, this works out of the box.
If your spec file is outside lib/, you must update or add a build.yaml to include your spec file as a source.
Example:
targets:$default:sources:-$package$-lib/**-openapi.yaml# or your spec file path
Remote specs:
Use the forceAlwaysRun (defaults to false) option to ensure the generator always runs.
This option is ignored for local specs.
When enabled, it modifies the annotated file to force regeneration. This might cause issues such as merge conflicts
Overview
This repository provides Dart/Flutter libraries for generating OpenAPI client SDKs directly from your OpenAPI specification. Inspired by Openapi Generator Cli (npm), it enables seamless integration into Dart and Flutter projects.
Libraries
Library
Description
Latest Version
openapi-generator
Dev dependency for generating OpenAPI client SDK via Dart source gen (usage)
openapi-generator-annotations
Annotations for configuring OpenAPI client SDK generation (usage)
If you are having issues with the generated code, this is not an problem with this package and creating an issue here will not help solve it. Its best to create the issue in the base OpenApi library since this package is a wrapper around that library for ease of use with Flutter/dart.
Below are some advanced configurations you may try.
Custom Templates:
Use the templateDirectory parameter to specify a custom code generation template.
Type & Import Mappings:
Use typeMappings and importMappings to control how OpenAPI types and models are mapped in Dart.
Reserved Words:
Use reservedWordsMappings to avoid conflicts with Dart reserved words.
Dependency Conflicts:
Use dependency_overrides in the generated package's pubspec.yaml and add pubspec.yaml to .openapi-generator-ignore to prevent overwrites.
Incorrect Generated Code:
Fix your OpenAPI spec (preferred).
Manually edit the generated code and add the files to .openapi-generator-ignore to prevent them from being overwritten.
.openapi-generator-ignore Example:
# Ignore all test files
test/*
# Ignore pubspec.yaml to preserve manual changes
pubspec.yaml