Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gas-buddy/small-swagger-codegen

A small version of swagger-codegen. Does fewer things with less code.
https://github.com/gas-buddy/small-swagger-codegen

Last synced: about 2 months ago
JSON representation

A small version of swagger-codegen. Does fewer things with less code.

Awesome Lists containing this project

README

        

# small-swagger-codegen

![Node CI](https://github.com/gas-buddy/small-swagger-codegen/workflows/Node%20CI/badge.svg)

A small version of swagger-codegen. Does fewer things with less code. Supports Swift, Kotlin, and Javascript (using fetch/EventSource).

Usage
=====
You can either pass parameters on the command line or a configuration file.

Command line example:
This will build a Javascript module named my-spec-js-client with a default export of MyApi using snake casing (as opposed to the default camel casing) for methods and parameters, and output to the default directory - `client` (which can be overridden with `--output=someotherdir`)
```
npx small-swagger-codegen --language=js --spec=./my-spec.json --name=MyApi --packageName=my-spec-js-client --snake
```

Configuration files can be useful when you want to generate a number of clients at the same time, such as in a native app.

```
{
"language": "swift",
"output": "./DevelopmentPods/Generated/",
"specs": {
"ApiOne": {
"spec": "./node_modules/api-one-spec/api-one-spec.json",
"className": "ApiOneAPI",
"basePath": "api1"
},
"OtherApi": {
"spec": "./node_modules/other-api-spec/other-api-spec.json",
"className": "OtherAPI",
"basePath": "other"
}
}
}
```

Which, if saved in a file called `config.json` is run with
```
npx small-swagger-codegen ./config.json
```