... | ... | @@ -2,19 +2,18 @@ |
|
|
|
|
|
To add an API client generator for a new language (e.g. Go), we would recommend going through the following PR as a starting point:
|
|
|
|
|
|
- [[Go] Add Go API client generator #1747](https://github.com/swagger-api/swagger-codegen/pull/1747).
|
|
|
- [New Javascript flowtyped generator #176](https://github.com/OpenAPITools/openapi-generator/pull/176)
|
|
|
|
|
|
Here is a summary of the changes:
|
|
|
- Add [`modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoClientCodegen.java`](https://github.com/wing328/swagger-codegen/blob/20e531d6dd0a8ed71d1b8cab62ad869f56f700bc/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/GoClientCodegen.java) which extends `DefaultCodegen`. It configures the language codegen, sets `templateDir = "go"` which is used to locate the codegen's mustache templates, adds the template files `api.mustache` and `models.mustache` (see below), and adds the language CLI option. Change as necessary for your language.
|
|
|
- Add the class to [`modules/openapi-generator/src/main/resources/META-INF/services/io.swagger.codegen.CodegenConfig`](https://github.com/wing328/swagger-codegen/blob/20e531d6dd0a8ed71d1b8cab62ad869f56f700bc/modules/openapi-generator/src/main/resources/META-INF/services/io.swagger.codegen.CodegenConfig)
|
|
|
- Add a [`modules/openapi-generator/src/main/resources/go/README.mustache`](https://github.com/wing328/swagger-codegen/blob/20e531d6dd0a8ed71d1b8cab62ad869f56f700bc/modules/openapi-generator/src/main/resources/go/README.mustache)
|
|
|
- Add the [`modules/openapi-generator/src/main/resources/go/api.mustache`](https://github.com/wing328/swagger-codegen/blob/20e531d6dd0a8ed71d1b8cab62ad869f56f700bc/modules/openapi-generator/src/main/resources/go/api.mustache) and [modules/openapi-generator/src/main/resources/go/model.mustache](https://github.com/wing328/swagger-codegen/blob/20e531d6dd0a8ed71d1b8cab62ad869f56f700bc/modules/openapi-generator/src/main/resources/go/model.mustache)
|
|
|
- Add samples in `samples/client/petstore/go` and `.sh` and `.bat` scripts to generate the samples
|
|
|
- Add [`modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptFlowtypedClientCodegen.java`](https://github.com/jaypea/openapi-generator/blob/f216b24edd48780c4fbe7b7393a32a9c0f2a0f57/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavascriptFlowtypedClientCodegen.java) which extends `AbstractTypeScriptClientCodegen` (other generators usually extend `DefaultCodegen`). It configures the language codegen, sets `templateDir = "Javascript-Flowtyped"` which is used to locate the codegen's mustache templates, adds the template files `api.mustache` and `models.mustache` (see below), and adds the language CLI option. Change as necessary for your language.
|
|
|
- Add the class to [`modules/openapi-generator/src/main/resources/META-INF/services/org.openapitools.codegen.CodegenConfig`](https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/main/resources/META-INF/services/org.openapitools.codegen.CodegenConfig)
|
|
|
- Add an auto-generated README file to explain how to use the auto-generated code
|
|
|
- Add the [`modules/openapi-generator/src/main/resources/Javascript-Flowtyped/api.mustache`](https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/main/resources/Javascript-Flowtyped/api.mustache) and model.mustache
|
|
|
- Add samples in `samples/client/petstore/javascript-flowtyped` and `.sh` and `.bat` scripts to generate the samples
|
|
|
|
|
|
To add a server stub generator for a new framework (e.g. Haskell Servant), please go through the following PRs:
|
|
|
|
|
|
- [Code generator for haskell-servant framework #2009](https://github.com/swagger-api/swagger-codegen/pull/2009)
|
|
|
- [[aspnet] Initial implementation of ASP.NET 5 server #2024](https://github.com/swagger-api/swagger-codegen/pull/2024)
|
|
|
- [[PHP][LARAVEL] initial PHP-laravel integration #574](https://github.com/OpenAPITools/openapi-generator/pull/574)
|
|
|
|
|
|
If you need any assistance, please open a [ticket](https://github.com/openapitools/openapi-generator/issues)
|
|
|
|
... | ... | |