swagger_parser 0.5.0 swagger_parser: ^0.5.0 copied to clipboard
Generate REST clients and data classes from swagger json file
Swagger Parser #
Dart package that generates REST clients and data classes from swagger json file #
Features #
- Supports OpenApi v2, v3.0 and v3.1
- Generate REST client files based on Retrofit
- Generate data classes (also on freezed)
- Support for multiple languages (Dart, Kotlin)
- Web interface at https://carapacik.github.io/swagger_parser
Usage #
Install #
In your pubspec.yaml, add the following dependencies:
dependencies:
# dio: ^4.0.0
# json_annotation: ^4.7.0
# retrofit: ^3.3.0
dev_dependencies:
# build_runner: ^2.3.0
# json_serializable: ^6.5.0
# retrofit_generator: ^4.2.0
swagger_parser: ^0.4.1
Configure package #
Add your OpenApi json file configuration to your pubspec.yaml
or create a new config file called swagger_parser.yaml
.
An example of YAML is shown below
swagger_parser:
json_path: assets/swagger.json # Required. Sets the json path directory for api definition. This is just a suggestion for path
output_directory: lib/api # Required. Sets output directory for generated files (api clients and models)
language: dart # Optional. Sets the programming language. Current available languages are: dart, kotlin. Default: dart
squish_clients: false # Optional. Set 'true' to put all clients in one folder. Default: false
client_postfix: ApiClient # Optional. Set postfix for client folder and Class. Works if there is only a single class or squish is true. Default: Client
freezed: false # Optional (dart only). Set 'true' to generate data classes using freezed package. Default: false
Run the generator #
To generate boilerplate code, run the generate
program inside directory where your pubspec.yaml
file is located:
dart run swagger_parser:generate
For Flutter projects, you can also run:
flutter pub run swagger_parser:generate
If you name your configuration file something other than swagger_parser.yaml
or pubspec.yaml
you will need to specify the name of the YAML file as an argument.
dart run swagger_parser:generate -f <path to your config file>
Generate files using build_runner for retrofit, json_serializable and freezed #
To run the code generator, execute the following command:
dart run build_runner build
For Flutter projects, you can also run:
flutter pub run build_runner build