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

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

Swagger Parser #

pub package 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: ^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:
  schema_path: assets/openapi.json # Required. Sets the open api 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 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 generator, execute the following command:

dart run build_runner build

For Flutter projects, you can also run:

flutter pub run build_runner build
56
likes
0
pub points
79%
popularity

Publisher

verified publishercarapacik.dev

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

Homepage
Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

args, collection, path, yaml

More

Packages that depend on swagger_parser