Last updated:
0 purchases
open api client generator
OpenApi Client Generator #
OpenApi Client Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec.
This library is under development, any help is welcome
The package is written only in dart, other dependencies will not be needed
You can use this package from the command line or by writing a script in dart
Command Line #
You can run the generator with the command below
dart run open_api_client_generator \
--input=http://0.0.0.0:8080/api/v1/swagger/open_api.yaml \
--output-folder=lib/api \
--client=dio \
--data=json_serializable
copied to clipboard
For all usable parameters use the --help flag
Script #
You can also use this package by creating a dart script, here is an example:
import 'package:open_api_client_generator/open_api_client_generator.dart';
void main() async {
await generateApi(
options: Options(
input: Uri.parse('http://0.0.0.0:8080/api/v1/swagger/open_api.yaml'),
outputFolder: 'lib/api',
),
clientCodec: const DioClientCodec(),
serializationCodec: const JsonSerializableSerializationCodec(),
);
}
copied to clipboard
Arguments #
Several http clients, serializers and more are supported.
Client #
CommandLine
Dart Class
package
Description
--client=abstract
AbstractClientCodec
Generate an abstract client
--client=dart
DartClientCodec
Generate a client that does not use external libraries
--client=http
HttpClientCodec
http
Generate a client that uses the http library
--client=dio
DioClientCodec
dio
Generate a client that uses the dio library
Serialization #
CommandLine
Dart Class
package
Description
--serialization=json_serializable
JsonSerializableSerializationCodec
json_serializable
Generate serialization use the json_serializable package
--serialization=built_value
BuiltValueSerializationCodec
built_value
Generate serialization use the built_value package
Collection #
CommandLine
Dart Class
package
Description
--collection=dart
DartCollectionCodec
Use List an Map from dart core
--collection=fast_immutable_collection
FastImmutableCollectionCodec
fast_immutable_collection
Instead of List and Map use IList and IMap
--collection=built_collection
BuiltCollectionCodec
built_collection
Instead of List and Map use BuiltList and BuiltMap
Plugins #
CommandLine
Dart Class
package
Description
--plugins=mek_data_class
MekDataClassPlugin
mek_data_class
Generates data classes with Data Class annotation, implements toString and equals
More #
shelf_open_api The purpose of this library is to expose the generation of file with open api specifications from your shelf controllers
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.