swagger_parser 0.10.3 copy "swagger_parser: ^0.10.3" to clipboard
swagger_parser: ^0.10.3 copied to clipboard

Package that generates REST clients and data classes from OpenApi definition file

Swagger Parser #

pub version pub likes dart style Star on Github Last commit on Github Tests

Dart package that generates REST clients and data classes from OpenApi definition file #

Features #

  • Supports OpenApi v2, v3.0 and v3.1
  • Support JSON and YAML format
  • 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: ^5.1.0
  # json_annotation: ^4.7.0
  # retrofit: ^4.0.1

dev_dependencies:
  # build_runner: ^2.3.3
  # json_serializable: ^6.5.0
  # retrofit_generator: ^6.0.0
  swagger_parser:

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:
  schema_path: assets/openapi.json # Required. Sets the OpenApi schema path directory for api definition
  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_clients` is true. Default: ApiClient
  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 generation, execute the following command:

dart run build_runner build

For Flutter projects, you can also run:

flutter pub run build_runner build
90
likes
150
points
7.06k
downloads

Publisher

verified publishercarapacik.dev

Weekly Downloads

Package that generates REST clients and data classes from OpenApi definition file

Homepage
Repository (GitHub)
Contributing

Documentation

API reference

License

MIT (license)

Dependencies

args, collection, path, yaml

More

Packages that depend on swagger_parser