* Support enums
* Updating petstore sample
* Use enum class instead of just enum
* Use string_t for g++ compatibility
* Add enum descriptions
* Fix string parsing. Make g++ compatible.
* Add boost-uid to vcpkg isntall command. It's required.
* Add instructions for building on visual studio 2017
* Add section to support vcpkg and visual studio
* Undef U on windows to stop compiler error
* Update pet store sample
* Move undef U to apiclient-header
* Slight change to address compiler warning
* [cli] Support packageName as global option
CLI supports other package-related options (--api-package,
--model-package, --invoker-package). This aligns those options with
--package-name to avoid confusion about how to configure these options
where those are supported.
This intentionally does not apply a packageName getter/setter to
DefaultCodegen to reduce the footprint of this change.
* [gradle] Add packagName as global option
This makes packageName available as a global option, beside apiPackage,
modelPackage, and invokerPackage to reduce potential confusion about how
to configure the four of these options by generators which support them.
* [TypeScript] Generate oneOf schemas as type unions
* [TypeScript] Generate oneOf schemas as type unions
* [TypeScript] Generate oneOf schemas as type unions
update aurelia sample
This fixes adding supporting files to packages that have a '.'.
If the controllersPackage or modelsPackage has a '.' (eg to put the
controllers and/or models in a subpackage of the invokerPackage),
supporting controller and models were ending up in directories that
included the period instead of converting the periods to file
separators.
* Pass opts argument to api client in ruby-client
We want to change the option when debugging, changing timeout to specific api, etc...
So we want to merge and pass options to api client.
* fix ruby-client
* fix openapi ruby-client
* fix typo
* fix template
* Fix issue including header, the filename not the class name should be used to import a header file.
* Include header file name, not class name.
Header file name and class name differ.
* Update petstore samples
* [Elixir] update version / add test
* update samples (add missing 200 responses in petstore-with-fake-endpoints-models-for-testing.yaml)
* [Elixir] update to 1.6 version
* [Elixir] fix test petapi
* new module: openapi-generator-core
* templating engine adapters to support extension (currently only Handlebars)
* new `-e` templating engine CLI option
* adapt Generator to process Template with the passed TemplatingEngineAdpater
* add a MustacheEngineAdapter to the codegen in the unit tests
* force default MustacheEngineAdapter
* copy new core module in the root Dockerfile
* add processTemplatingEngine to CodegenConfig, to be overriden by Codegen classes if needed
* support multiple file extensions per templating engine adapter
* Extends handlebars experimental adapter with explicit contextual resolvers (e.g. map processing)
* Add new openapi-generator-core/pom.xml to release_version_update.sh
* A detailed message will be logged on missing handlebars helper
* Adds README documentation around template default and beta options
* Moves mustache package under new templating package
* Include built-in handlebars helpers which require explicit registration, and custom `startsWith` helper.
- Restore XML namespace support
- Remove non snake case rust warning for xml wrap_in methods
- Add XML rust-server tests
- Fix wrapping XML arrays when a property of another object
- Run all tests, not just those for OpenAPI 2.0
- Force wrapping for rust-server
* Improve CONTRIBUTING.md
Indicate that bin/openapi3 scripts should be executed too.
Try to clarify how to run tests:
* use in sample a client for which tests exist
* explain where to run the command and how to find the artifactId
* Update contributing.md by running copy-to-website
* Add first cutasync support and small cleanups
* Add apiPackage, modePacke to use for namespaces, for library don't generate wwwroot and dont make model class partial and default to no swashbuckle, , workarodun empty string cliOption
* Update docs
* Don't add async for library
* Fix generated program for async and task
* Default models names space should be <package>.Models
* Remove commented out code
* Remove unnecessary code, fix a comparison and add an else fo an if statment.
* Update docs
* Fixed#2643
Refactored to/from json functions to use universal object serialization method.
* Code review found incorrect indenting and I forgot to remove unused mustache files.
* Removed helpers class because it is not needed anymore.
* Removed helpers package from docs.
* Reverted helper class removal.
* Add RubyKaigi 2019 presentation
I talked "How to use OpenAPI3 for API developer" in RubyKaigi 2019
These are the topics of OpenAPI Generator
* Add the conference name
* Use isNotEmpty instead of length in dart2 validity checks
In dart2 the preferred method of checking whether an object is empty or
not is to use the .isNotEmpty property. An aspect that is now warned
about by the linter.
While not an issue in this particular case - testing length can also
have negative performance implications for Iterable collections, which
are not required to know or provide their length deterministically.
* Prefer equals for default values in dart2
The dart2 linter complains about m({a: 1}) style assignments, preferring
m({a = 1}) instead. Update the api_client generation to follow this.
* Regenerate dart2 samples for mustache template changes
* New modified model header and body mustache for c client generator
* remove uncrustify from cmake as it is used during code generation, also remove valgrind as it is not used
* add function to encode and decode binary data
* update model mustache
* update api body and header mustache for handling all types of parameters
* update model mustache with variable names and address few more issues to generate working codes
* updated api body and header mustaches with support for various new parameters and fix some issues as per new changes in code flow structure
* update apiClient header and body mustache as per new modifications for handling binary data and few more stuff
* updated samples generated by new modified mustache
* update handling of file and binary data type to binary_t
* update samples with recent commit on master regarding c-generator
* update cmakelist which was ignored by .openapi-generator-ignore, cleanup external folder
* update CMakeList mustache to show how to use compiled libary to compile source files
* update samples with new cmake
* Add comments explaining what each command is doing inshort
* remove freeing of base path as it is not memory allocated
* update samples to free apiclient object when the requirement is over
* add missing cJSON delete to fix memory not freed bugs
* use uncrustify to beautify manual written test code
* Updated StaticHtmlGenerator to it overrides the toVarName(String name) method in DefaultCodegen and prevents underscores from being converted to the word Underscore
* adding model propery with a snake_case name
* Reverting change to base petstore.yaml file
* Trying to trigger another CI build
* Trying to trigger another CI build
* Removing trailing space
* update travis to test gradle plugin
* update gradle version
* show gradle version
* test gradle plugin in circleci
* test appveyor in gradle
* use direct link
* revert other ci config
* Add tests to reproduce the issue
* Use simple replacement instead of regexp
* Add tests to reproduce the issue (apiPackage)
* Use simple replacement instead of regexp (apiPackage)
* Replace a slash with File.separator (addressing the issue on windows)
* Tweak (windows)
* Tweak (windows)
* Use StringUtils#remove***() instead of regexp
* Fix “The field JavascriptFlowtypedClientCodegen.SNAPSHOT_SUFFIX_FORMAT is hiding a field from type AbstractTypeScriptClientCodegen”
* Fix “The field JavaCXFExtServerCodegen.CodegenVariable.vendorExtensions is hiding a field from type
DefaultCodegen”
* Fix “Javadoc: Invalid URL reference. Double quote the
reference or use the href syntax”
* add static modifier - mvn verify passes
* specify charset, mvn verify works, compiles and clean on spotbugs in my project
* update samples as per contribution guide; mvn integration-test passes
* commit rest of samples
* fix missing newline at EOF
* lots of new newlines
* needed to run mvn clean beforehand...
* [BUG][php-symfony] Fix alias generation
* fix
* add bundle alias option and alias logic when it is not defined
* run bin/utils/ensure-up-to-date to update php-symfony.md
If a path defined security to an OAuth type, and defined scopes, the scopes from the
components definition were still being used, rather than the (most likely shorter) list
of specific scopes for the path.
This copies all the component security information over EXCEPT for the scopes. The scopes
to be included are determined by the path's security settings.
NOTE: Modified the petstore.yaml file so the GET operations only have read:pets scope and
utilized the Kotlin server sample to verify output. Sample output updated only for this scenario
* [Doc] Better highlight of generators docs page with generators specific parameters
* [Doc] Better highlight of generators docs page with generators specific parameters
* Add optValue to CliOption
* Fix compilation with ASP.Net Core 2.1
* Add ASP.Net core 2.2
* Use CliOption for classModifier, operationModifier, buildTarget, add ASP.Net core 2.2
* Make abstract method look cleaner
* Update docs
* Regenerate sample
* #1023 - [Scala] Use status family during response processing
* #1023 - [Scala] Use status family during response processing - adding REDIRECTION & INFORMATIONAL support
* generate setters for readonly properties in server code
* rollback DefaultGenerator change and remove isReadOnly tags from jaxrs server template
* updating petstore
* more petstore updates
* Added nullable-type support to CSharpClientCodegen
Overrode getNullableType method
Added non-nullable type varients to 'typeMapping' collection
Removed nullable type shorthand from api template
* Added testcase for nullable support
Set Integer property to not be nullable. Expect no '?' in baseType
Set String property to be nullable. Expect no '?' in baseType
* Implemented changes to 'csharp' generator from PR #1819.
* Update swagger-parser to '2.0.10-SNAPSHOT'
* Add a TODO
* Update input spec
* Update input spec again
* Update samples
* Set version to 2.0.10-OpenAPITools.org-1
* Ensure up-to-date
* Update to 2.0.11-OpenAPITools.org-1
* Run bin/utils/export_docs_generators.sh
* update dart-jaguar doc
* [kotlin-spring] use org.springframework.core.io.Resource for file handling
* run ./bin/kotlin-springboot-petstore-server.sh
* run ./bin/kotlin-springboot-petstore-server.sh after building the CLI
* use MultipartFile for file in form and the specified type otherwise
* remplace tab with space
* [kotlin-springboot] replace all instance of MultipartFile by Resource
* run ./bin/kotlin-springboot-petstore-server.sh
* Add Json import for all data classes
* Add `@Json` annotation for data class required variables
* Add `@json` annotation for data class optional variables
* Update samples code (petstore, strings, threetenbp)
* Fix annotation to match Kotlin coding style
* Added new generator for Scala + Play Framework (WIP)
* scala-play-framework: default values reintroduced (mostly); datatype -> dataType
* reintroduced missing EOF newline
* Support single/collection params for header/query params
* Rename apiFutures > supportAsync, implStubs > skipStubs (opt-out instead of opt-in)
* Deleted license and small fixes
* Generate extraction of form parameters from request body
* Added missing call to executeApi for unit methods when supportAsync=false
* Polished some stuff and added routes, application.conf, logback.xml, better default responses
* Disabled generation of Json.format for models with files
* Added README
* Multiple additions and improvements.
- Fix Indentation using mustache lambdas
- Option to set routes file name (default: routes) - allows uninterrupted manual maintenance of main routes file, which may include a subroute to the generated routes file
- Move supporting file classes to a package and update application.conf generation accordingly
- Option to generate custom exceptions (default: true) which are used in the controller to differentiate between API call exceptions and validation exceptions
- Generate error handler with basic exception mapping
- Option to generate API docs under /api route
- Reorder routes file so parameter-less paths are given priority over parameterized paths. Prevents case like /v2/user/:username activating before /v2/user/login (thus shadowing the login route completely) as observed using v3 petstore.yaml
- Option to set base package name (default: org.openapitools) to allow placing supporting files under a different package
* Revert supportAsync default to false
* Added binaries and default api/model packages
* Added scala-play-framework sample
* Add missing contextPath to README and controller comment
* [#2441] Update documentation mustache files for PHP client
This commit fixes issues with Markdown/CommonMark parsing by linting and enforcing consistent style.[#2441]
Issues with generated markdown files as reported by markdownlint for node.js are:
- MD001 heading-increment/header-increment - Heading levels should only increment by one level at a time
- MD002 first-heading-h1/first-header-h1 - First heading should be a top level heading
- MD007 ul-indent - Unordered list indentation
- MD009 no-trailing-spaces - Trailing spaces
- MD010 no-hard-tabs - Hard tabs
- MD011 no-reversed-links - Reversed link syntax
- MD025 single-h1 - Multiple top level headings in the same document
- MD031 blanks-around-fences - Fenced code blocks should be surrounded by blank lines
- MD032 blanks-around-lists - Lists should be surrounded by blank lines
- MD040 fenced-code-language - Fenced code blocks should have a language specified
- MD041 first-line-h1 - First line in file should be a top level heading
* [#2441] Update documentation mustache files for ruby client
This commit fixes issues with Markdown/CommonMark parsing by linting and enforcing consistent style.[#2441]
Issues with generated markdown files as reported by markdownlint for node.js are:
- MD001 heading-increment/header-increment - Heading levels should only increment by one level at a time
- MD002 first-heading-h1/first-header-h1 - First heading should be a top level heading
- MD007 ul-indent - Unordered list indentation
- MD009 no-trailing-spaces - Trailing spaces
- MD010 no-hard-tabs - Hard tabs
- MD011 no-reversed-links - Reversed link syntax
- MD025 single-h1 - Multiple top level headings in the same document
- MD031 blanks-around-fences - Fenced code blocks should be surrounded by blank lines
- MD032 blanks-around-lists - Lists should be surrounded by blank lines
- MD040 fenced-code-language - Fenced code blocks should have a language specified
- MD041 first-line-h1 - First line in file should be a top level heading
* [#2441] Update documentation mustache files for javascript client
This commit fixes issues with Markdown/CommonMark parsing by linting and enforcing consistent style.[#2441]
Issues with generated markdown files as reported by markdownlint for node.js are:
- MD001 heading-increment/header-increment - Heading levels should only increment by one level at a time
- MD002 first-heading-h1/first-header-h1 - First heading should be a top level heading
- MD007 ul-indent - Unordered list indentation
- MD009 no-trailing-spaces - Trailing spaces
- MD010 no-hard-tabs - Hard tabs
- MD011 no-reversed-links - Reversed link syntax
- MD025 single-h1 - Multiple top level headings in the same document
- MD031 blanks-around-fences - Fenced code blocks should be surrounded by blank lines
- MD032 blanks-around-lists - Lists should be surrounded by blank lines
- MD040 fenced-code-language - Fenced code blocks should have a language specified
- MD041 first-line-h1 - First line in file should be a top level heading
* [#2441] Update documentation mustache files for Java client
This commit fixes issues with Markdown/CommonMark parsing by linting and enforcing consistent style.[#2441]
Issues with generated markdown files as reported by markdownlint for node.js are:
- MD001 heading-increment/header-increment - Heading levels should only increment by one level at a time
- MD002 first-heading-h1/first-header-h1 - First heading should be a top level heading
- MD007 ul-indent - Unordered list indentation
- MD009 no-trailing-spaces - Trailing spaces
- MD010 no-hard-tabs - Hard tabs
- MD011 no-reversed-links - Reversed link syntax
- MD025 single-h1 - Multiple top level headings in the same document
- MD031 blanks-around-fences - Fenced code blocks should be surrounded by blank lines
- MD032 blanks-around-lists - Lists should be surrounded by blank lines
- MD040 fenced-code-language - Fenced code blocks should have a language specified
- MD041 first-line-h1 - First line in file should be a top level heading
* [#2441] Update documentation mustache files for GO client
This commit fixes issues with Markdown/CommonMark parsing by linting and enforcing consistent style.[#2441]
Issues with generated markdown files as reported by markdownlint for node.js are:
- MD001 heading-increment/header-increment - Heading levels should only increment by one level at a time
- MD002 first-heading-h1/first-header-h1 - First heading should be a top level heading
- MD007 ul-indent - Unordered list indentation
- MD009 no-trailing-spaces - Trailing spaces
- MD010 no-hard-tabs - Hard tabs
- MD011 no-reversed-links - Reversed link syntax
- MD025 single-h1 - Multiple top level headings in the same document
- MD031 blanks-around-fences - Fenced code blocks should be surrounded by blank lines
- MD032 blanks-around-lists - Lists should be surrounded by blank lines
- MD040 fenced-code-language - Fenced code blocks should have a language specified
- MD041 first-line-h1 - First line in file should be a top level heading
* [#2441] Update documentation mustache files for Rust client
This commit fixes issues with Markdown/CommonMark parsing by linting and enforcing consistent style.[#2441]
Issues with generated markdown files as reported by markdownlint for node.js are:
- MD001 heading-increment/header-increment - Heading levels should only increment by one level at a time
- MD002 first-heading-h1/first-header-h1 - First heading should be a top level heading
- MD007 ul-indent - Unordered list indentation
- MD009 no-trailing-spaces - Trailing spaces
- MD010 no-hard-tabs - Hard tabs
- MD011 no-reversed-links - Reversed link syntax
- MD025 single-h1 - Multiple top level headings in the same document
- MD031 blanks-around-fences - Fenced code blocks should be surrounded by blank lines
- MD032 blanks-around-lists - Lists should be surrounded by blank lines
- MD040 fenced-code-language - Fenced code blocks should have a language specified
- MD041 first-line-h1 - First line in file should be a top level heading
* [#2441] Update documentation mustache files for C# client
This commit fixes issues with Markdown/CommonMark parsing by linting and enforcing consistent style.[#2441]
Issues with generated markdown files as reported by markdownlint for node.js are:
- MD001 heading-increment/header-increment - Heading levels should only increment by one level at a time
- MD002 first-heading-h1/first-header-h1 - First heading should be a top level heading
- MD007 ul-indent - Unordered list indentation
- MD009 no-trailing-spaces - Trailing spaces
- MD010 no-hard-tabs - Hard tabs
- MD011 no-reversed-links - Reversed link syntax
- MD025 single-h1 - Multiple top level headings in the same document
- MD031 blanks-around-fences - Fenced code blocks should be surrounded by blank lines
- MD032 blanks-around-lists - Lists should be surrounded by blank lines
- MD040 fenced-code-language - Fenced code blocks should have a language specified
- MD041 first-line-h1 - First line in file should be a top level heading
* [#2441] Update documentation mustache files for Android client
This commit fixes issues with Markdown/CommonMark parsing by linting and enforcing consistent style.[#2441]
Issues with generated markdown files as reported by markdownlint for node.js are:
- MD001 heading-increment/header-increment - Heading levels should only increment by one level at a time
- MD002 first-heading-h1/first-header-h1 - First heading should be a top level heading
- MD007 ul-indent - Unordered list indentation
- MD009 no-trailing-spaces - Trailing spaces
- MD010 no-hard-tabs - Hard tabs
- MD011 no-reversed-links - Reversed link syntax
- MD025 single-h1 - Multiple top level headings in the same document
- MD031 blanks-around-fences - Fenced code blocks should be surrounded by blank lines
- MD032 blanks-around-lists - Lists should be surrounded by blank lines
- MD040 fenced-code-language - Fenced code blocks should have a language specified
- MD041 first-line-h1 - First line in file should be a top level heading
* Update README.mustache
* [#2441] Update documentation mustache files for Ada client
This commit fixes issues with Markdown/CommonMark parsing by linting and enforcing consistent style.[#2441]
* [#2441] Update documentation mustache files for Apex client
This commit fixes issues with Markdown/CommonMark parsing by linting and enforcing consistent style.[#2441]
* [#2441] Update documentation mustache files for bash
This commit fixes issues with Markdown/CommonMark parsing by linting and enforcing consistent style.[#2441]
* Support additionalPorperties as command line arguments
* Move Readme into main dir
* Update Mustache
* Update sample
* Test coverage
* Move cli options
* Revert options
* Remove tabs
* openapi 3 examples
* Update readme
* serverPort to int
* Move package version cli option to AbstractGoCodegen
* Update samples
* Tab to spaces
* Update docs and sample with xml
* Manual update doc
* Another doc try
* Regenerate go-gin-server doc
* Update akka scala generator
* Upgrade scala version to 2.12.8
* Upgrade Akka version
* Migrate from spray to Akka HTTP
* Update client sample
* Fix pom.xml generation to be equivalent to build.sbt
* Using connexion `pythonic_params` support while keeping OpenAPI spec file correct with reference to the original spec file.
* - Add `camelCase` query parameter which shows the incorrectnes of the conversion of the OpenAPI spec file in Python server implementation(s).
* Also use `pythonic_params=True` for the `python-aiohttp` implementation.
* - Updated Python related samples.
* The unit tests must provide the correct query parameters.
* - Updated Python related samples.
* multi-module example for maven plugin master
* read byte source from classpath like swagger-parser does
* renamed schema to openapi.yaml for multi-module examples
* renamed schema to openapi.yaml for multi-module examples
* adding retries option to override default value 3 of urllib3
* running petstore for python
* adding files for samples in petstore run
* running ensure-up-to-date
* Add build script and remove babel
This change adds a build script which uses babel to transpile generated es6 source to es5, such that it can then be used in node projects or published as a package to npm. The `babel` package is also removed as it is deprecated, and superseded by `babel-cli`.
See https://github.com/OpenAPITools/openapi-generator/issues/2126#issuecomment-473926663
* update samples
* Update Tesla dependency and replace Poison with Jason
* Use new Tesla method to set headers
* Fix jason dependency definition
* Use list for Headers instead of a map
* Rollback to Poison because Jason does not support 'as:' option to decode to arbitrary struct
* Use new return signature from Tesla 1.0 in decode function
* catch error when a struct is given as second parameter to RequestBuilder.decode
* Update modules/openapi-generator/src/main/resources/elixir/request_builder.ex.mustache
Co-Authored-By: yknx4 <yknx.4.b@gmail.com>
* Update modules/openapi-generator/src/main/resources/elixir/request_builder.ex.mustache
Co-Authored-By: yknx4 <yknx.4.b@gmail.com>
* Evaluate response based on status code
* Generate Petstore
* pin poison to ~> 3.0.0 since 4.0.0 does not work atm
* run ./bin/openapi3/elixir-petstore.sh
* [KOTLIN Client] Update to latest kotlin version
gradle - okhttp3 - kotlintest version update
add some test case in sample
* [KOTLIN Client] Update to latest kotlin version
gradle - okhttp3 - kotlintest version update
add some test case in sample
* Adds v2 spec additionalproperties examples, adds v3 spec nulllable model example, updates samples
* Remaining samples updates
* Adds csharp generator update to handle models with multilevel parent types, which works for the AdditionalPropertiesObject model, samples updated
* Update Tesla dependency and replace Poison with Jason
* Use new Tesla method to set headers
* Fix jason dependency definition
* Use list for Headers instead of a map
* Rollback to Poison because Jason does not support 'as:' option to decode to arbitrary struct
* Use new return signature from Tesla 1.0 in decode function
* catch error when a struct is given as second parameter to RequestBuilder.decode
* Update modules/openapi-generator/src/main/resources/elixir/request_builder.ex.mustache
Co-Authored-By: yknx4 <yknx.4.b@gmail.com>
* Update modules/openapi-generator/src/main/resources/elixir/request_builder.ex.mustache
Co-Authored-By: yknx4 <yknx.4.b@gmail.com>
* modify handing reserved keyword and set isEnum in local codegen to avoid conflict with other codegen
* update README mustache
* added object header and body mustache
* [dart] Fix authentication so all forms of Swagger 2.0 authentication work
* Run changes on petstore examples
* Amend dart2 generated README to cover basic authentication
* Amend dart2 generated README to cover authentication methods
* [dart] Fix authentication so all forms of Swagger 2.0 authentication work
* Run changes on petstore examples
* TypeScript: add typeRoots to tsconfig
This avoids typescript looking in parent directories to find type definitions. We don’t _need_ this behaviour from typescript, as this module is self-contained. If we don’t block this behaviour from typescript, and you put the generated source inside a project that already has a node_modules/@types directory, you can run into conflicts when some types require newer versions of TypeScript than is used by this module.
* Update petstore examples for all TypeScript variants
* 2nd attempt to make the automatic checkin testing work
* trying to submit the samples in hopes that the CI matches them and passes
* found some samples I hadn't updated. Maybe this is it?
For the following spec:
``` yaml
responses:
"200":
description: Pong.
content:
text/plain:
schema:
type: string
```
The generated client currently fails with `undefined response type`.
In this scenario, `v interface{}` is a string pointer which can be
populated regardless of the content-type.
* chore: add removing old files function to the scripts.
chore: add removing old files function to the scripts.
* docs: update by ./bin/go-gin-petstore-server.sh
* docs: update by ./bin/go-petstore-server.sh
* docs: update by ./bin/go-petstore-withxml.sh
* docs: update by ./bin/openapi3/go-petstore-server.sh
* docs: update by ./bin/security/go-petstore.sh
setting `customTestInstanceModule` will import typeclasses from the
specified module into tests/Instances.hs, to provide typeclass
instances for types not known by the generator
this property set using `--additional-properties`
example:
```
--additional-properties=customTestInstanceModule=CustomInstances
```
* [Kotlin Server Ktor] upgrade to stable version (1.1.3)
* [Kotlin Server Ktor] upgrade to stable version (1.1.3)
fix indentation
* [Kotlin Server Ktor] upgrade to stable version (1.1.3)
fix indentation
* add missing kotlin ktor in Server stubs list
* [Kotlin Server Ktor] upgrade to stable version (1.1.3)
fix compilation warnings
* The `ApiClient` will now have support to store and use HTTP Cookies (as APIKey auth).
* Use Cookie authentication for user management.
* - Updated Python related samples.
import mappings take the form of:
```
--import-mappings %DATATYPE%=%MODULE%
```
full example (with --type-mappings):
```
--type-mappings intstr.IntOrString=IntOrString
--import-mappings IntOrString=Kubernetes.CustomTypes
```
The import-mapped module will be an exposed module of the generated library.
The import mappings will be re-exported from ImportMappings, which itself is re-xported from Models.
Model.hs
```
module Kubernetes.Model (module Kubernetes.Model, module Kubernetes.ImportMappings) where
import Kubernetes.ImportMappings
```
ImportMappings.hs:
```
module Kubernetes.ImportMappings (module ImportMappings) where
import Kubernetes.CustomTypes as ImportMappings (IntOrString(..))
```
* [typescript-fetch] Support deep objects in query parameters
Support objects in query parameters as specified by the deepObject serialization style of OpenAPI 3:
`Object id = {"role": "admin", "firstName": "Alex"}` => `/users?id[role]=admin&id[firstName]=Alex`
Not supported due to ambiguity are arrays of objects (e.g. `person[name]=Alice&person[name]=Bob` could be an array of person objects with one name each, or one person object with an array property `name`).
* [typescript-fetch] Update sample files
* [typescript-fetch] URL-encode query parameter array elements
* [haskell-http-client] tests - in Arbitrary instances, reduce the size for non-primitive fields to prevent infinite recursion
* [haskell-http-client] tests - generate Nothing instead of (Just Null :: Maybe A.Value) to avoid roundtrip test errors
* add r petstore test
* run test in node 1
* fix r bash test
* fix typo
* fix permission error
* fix r installation error
* use diff r repo
* install latest r
* install curl
* use sudo for apt-get
* add no manual
* add sudo install
* better caching
* export env
* update lib location
* create lib dir
* update r lib dir
* [csharp-refactor] limit available target framework
This removes .NET 3.x, .NET 4.0, UWP, and the "5.0" option (which
referred to PCL 5.0). This gives us a smaller footprint for maintenance,
and doesn't necessarily block consumers from creating custom templates
to support those target frameworks. A workaround for users wanting these
options is to build against openapi-generator 3.3.4.
This moves logic for applying additional properties to strategies per
target framework, as a means to reduce maintenance overhead at the cost
of maybe a little redundancy between strategies.
* [csharp-refactor] Fixing .netstandard support
* [csharp-refactor] Fixing netcoreapp2.0 support
* [csharp-refactor] Regenerate samples
* Fix toLowerCase missing Local.ROOT
* [csharp-refactor] Remove unnecessary bash/batch scripts, update appveyor.
* Update appveyor.yml to test for dotnet/xunit
* Update appveyor.yml
Wrap xunit console environment variables in quotes, to prevent yaml syntax error.
* Update appveyor.yml
Try to use dos-style switches, attempting to remove yaml parse error in appveyor. Previous command matched appveyor docs, but resulted in the parser error.
* Update appveyor.yml
Wrap full commands for netstandard tests in quotes
* Fix linux style slashes in dotnet build, use dotnet test over appveyor xunit
* [csharp-refactor] Update generator docs
* feat(typescript-rxjs): make internal RAW functions pricvate
* feat(typescript-rxjs): regenerate samples
* feat(typescript-rxjs): drop unneeded function wrapping
* feat(typescript-rxjs): regenerate samples
* fix(typescript-rxjs): remove "raw" from function name
* feat(typepscript-rxjs): regenerate samples
* - Fix regex in Python server model code.
* - Adding (regular expression) `pattern` to user name and category name.
* - Update Python server related generated code samples.
* [PHP] fix bad links in Model docs
* [PHP] update php sample and fix tests using deleted Model
* [PHP] update php sample and fix tests using deleted Model
Removed myself from the core team and java technical committee because I have no more time to work on the project. See you guys, it was awesome. Keep up the good work!
* Reverted path changes. Removed additional files in php petstore-security-test folder. Generated new samples.
* Batch and Shell scripts modified to use the same specification files for sample generation. Sample files generated.
* Input file path in PHP client batch file equalized with the input path in the shell script file. Samples generated.
* Added a missing bracket in the PHP client mustache template.
* AbstractPhpCodegen apiDocPath and modelDocPath creation adjusted to always use slash instead of system seperator, since the values will just be used in Markdown files.
* Unnecessary samples removed.
* Fixed unnecessary diversions between Windows and Linux/Mac paths in PHP codegen.
* New samples generated after rebase.
* Fixed a sample in TypeScript Angular v2 which caused CI to break.
* add option to generate alias as model
* [JAXRS/CXF] Emit method bodies, test data (#1158)
New jaxrs-cxf-extended generator with options:
- supportMultipleSpringServices Support generation of Spring services
from multiple specifications
- generateOperationBody (boolean) Enables generation of fully
functional test/service method bodies that pass/return random
but valid values & models.
- loadTestDataFromFile (boolean) When true, generated method bodies
load test data from a generated JSON file. When false, generated
method bodies contain inline code to construct the test data.
- testDataFile (string) The path of a JSON file to contain generated
test data. The file is initially generated but editable; edits are
preserved by subsequent generations.
- testDataControlFile (string) The path of a JSON file to control test
data generation - specifically, to control the number of items
required in array properties, structured by API class
/ operation name / parameter name. The file is initially generated
but editable; edits are preserved by subsequent generations.
- tests for the jaxrs-cxf-extended generator, including the new options
Bug fixes:
- fix bug (DefaultGenerator): handle absolute paths in supporting file
spec
- fix bug (DefaultCodegen): process enums in allVars
- fix bug (AbstractJavaCodegen): support multiple inheritance via
allOf (inheritance code deleted, as a subsequent pull broke it)
- fix bug (JavaCXFServerCodegen): use operationId instead of nickname
(gets out of step with duplicate operationIds)
- fix bug (JavaCXFServerCodegen): set appropriate default
consumes/produces for operations with body parameters or non-void
returns (CXF providers don't handle */*)
- fix indentation (DefaultCodegen)
- add support for a system property openapitools.implementation.version
to specify the package implementation version when running non-JAR'd
classes in an IDE (otherwise {{{generatorVersion}}} evaluates to
'unset'.
* reformat code
* make sh executable
* fix template folder
* fix template folder, update samples
* run test data manually to avoid ci failure
* Fix typo in (unused) method name
* Tidy up Rust server generator
Remove some repetition and use some nifty new methods introduced in Java 8
* Start using Objects.hash and Objects.equals
* Convert more equals implementations over
To use Objects.equals
* Convert more hashCode implementations over
To use Objects.hash. Might have the pleasant side-effect of improving
performance a bit.
* Typescript 3.2
* Typescript spread operator
* Add vendor extension to the operation
* Remove url.URLSearchParams
* Generate form data in API
* Make axios scripts executable
* Reran generator
* Generate sample code
* Codegen having the model and api extra flag
* Revert to 2.4 Typescript
* COLLECTION_FORMAT.{{collectionFormat}} everywhere for consistency
* Consistency on the CollectionFormats, comment on the vendor extension
* Throw exception if api and model packages are not given
* Templates splitting api and models
* Post process the operations in the the process
* Beginning to get the axios tests up
* Ensure-up-to-date doesnt include TS/Axios tests
* Docs update for Typescript/Axios
* Merge master
* Api tests re-run
* Add windows bat file
* fix resources management
* remove obselete if statement
* throw exception when body is null
* prevent potentional nullpointerexception
* use valueOf instead of constructor
* remove duplicated code
* avoid unclosed resources
* remove redundant key
* fix broken tests
* fix sonar issues
* fix tests
* add Veamly as a company using openAPI generator
* revert back if statement to explicitly express the intention behind it
* chore: apply release mode for the Dockerfile
* docs: update by `./bin/go-gin-petstore-server.sh`
* docs: update by `./bin/openapi3/go-gin-petstore-server.sh`
* update ZenTest
ZenTest 4.11.1 requires rubygems 2.x.
But Ruby 2.6.0 include rubygems 3.x.
So we can't use ruby client in Ruby 2.6.0.
https://www.ruby-lang.org/en/news/2018/12/25/ruby-2-6-0-released/
ZenTest 4.11.2 removed rubygems dependency so we should update.
1883b210aa
* update ruby client sample
Now we've to manually comment/uncomment the line before/after the release.
Ideally the script "ensure-up-to-date.sh" should only run for SNAPSHOT version only.
* Add ability control out put generation and support to generate a library
* Roll back pom version - it seems to break the CI/CD checks
* Roll back pom version - it seems to break the CI/CD checks
* Match with genrators - no changes from new code
* Fix inadvertent changes
* No idea why the names of params have changed pet to body for instance
* Match generated document
* Clarify logic as per PR review
* Remove the generatewwwroot option and use the buildtarget option
* Remove ar artifactVerson (not used), update docs and TODO notes
* Add ability control out put generation and support to generate a library
* Roll back pom version - it seems to break the CI/CD checks
* Roll back pom version - it seems to break the CI/CD checks
* Fix inadvertent changes
* Match generated document
* Add ability control out put generation and support to generate a library
* Roll back pom version - it seems to break the CI/CD checks
* Roll back pom version - it seems to break the CI/CD checks
* Fix inadvertent changes
* Match generated document
* Clarify logic as per PR review
* Remove the generatewwwroot option and use the buildtarget option
* Remove ar artifactVerson (not used), update docs and TODO notes
This allows easier creation of custom `GenerateTask`. Specifically, this makes:
- generateModelTests
- generateModelDocumentation
- generateApiTests
- generateApiDocumentation
- withXml
optional, following the same pattern as other properties in GenerateTask.
Without this change, we get `java.lang.IllegalStateException: No value
has been specified for this provider.` until these properties are
specified for the task, when attempting to define a custom generate task
(such as one to generate API docs).
* Add test case which reproduces the issue
* Fix missing `nullable`
* Tweak property name
* Add test case which covers `Paths`
* Add test case for CodegenProperty.isNullable
* Fix missing CodegenProperty.isNullable
* Rename r -> referencedSchema
* 2125: java-resttemplate: Support collection formats in pathParams
* run ./bin/java-petstore-resttemplate.sh
run ./bin/java-petstore-resttemplate-withxml.sh
* changed the package install instructions to install the .tgz package instead of symlinking the package - otherwise you'll get trouble with links on windows
* samples added
* added samples
* [Java]: adds snapshotVersion CLI option and uses API version as artifactVersion by default
* fix some typos
* fix naming diff between branches
* ensure-up-to-date
* update samples
* [typescript-angular] Update default Angular version from 4.3 to 6.0 (NPM Client)
* [typescript-angular] Update default Angular version from 4.3 to 7.0 (NPM Client)
Based on this [issue](https://github.com/servo/rust-url/issues/416) the `utf8_percent_encode` doesn't percent encode `+` instead treats it as a space which is may cause a problem if the query parameters contain one. For example if we wanted to use a DateTime range in query parameters:
`{base_path}{path}?start=2019-02-12T00:00:00+00:00&end=2019-02-13T15:00:00+00:00`
These parameters may be decoded as:
```
start = 2019-02-12T00:00:00 00:00
end = 2019-02-13T15:00:00 00:00
```
To solve this I changed query parameters to be form-urlencoded using `url::form_urlencoded` based on what's done in [`rust` client generator](ea08106c80/modules/openapi-generator/src/main/resources/rust/request.rs (L106)).
* Issue 1766 Modified mustache files for Go to support nullable in the spec v3.0+; Updated model files running .sh scripts for Go.
* Add "nullable" to fake yaml
* Add sample script for OAS3
* Fix output folder (openapi3)
* Run bin/openapi3/go-petstore.sh
* Update samples
* Update jaxrs-jersey
* Update python and php samples
* Add bin/openapi3/go-gin-petstore-server.sh
* Run bin/openapi3/go-gin-petstore-server.sh
* Update bin/openapi3/go-petstore-server.sh to generate "nullable" samples
* Run bin/openapi3/go-petstore-server.sh
* Fix duplicated `import`
* Typescript 3.2
* Typescript spread operator
* Add vendor extension to the operation
* Remove url.URLSearchParams
* Generate form data in API
* Make axios scripts executable
* Reran generator
* Generate sample code
* Revert to 2.4 Typescript
* COLLECTION_FORMAT.{{collectionFormat}} everywhere for consistency
* Consistency on the CollectionFormats, comment on the vendor extension
* fix compilation error
Rust clients code format cleanup (with some breaking changes for model structures):
* Application of Rust style in client files (4 spaces padding). Remove useless blank lines.
* Replace getters/setters in models by public fields.
* Add a trailing comma in struct fields.
* Sample Rust clients regeneration.
Previously, if you used a packageName of the form "foo.bar.baz", half of the
generated files of the python generator went into a subdirectory
"foo/bar/baz" (correct), the other half went into a subdirectory
"foo.bar.baz" (incorrect).
* use double-quote string for enum value (#2081)
* use enumVars in templates for Ruby client (#2081)
* delete unnecessary line in enum model of Ruby client (#2081)
* update samples of Ruby client (#2081)
* fix#457 by introducing an HttpBearerAuth object
See https://github.com/OpenAPITools/openapi-generator/issues/457
Also https://github.com/OpenAPITools/openapi-generator/issues/1446 for typescript, https://github.com/OpenAPITools/openapi-generator/issues/1577 for python
Specs defined as follows currently generate BasicAuth and send an "Authorization: Basic [base64Encode(username + ":" + password)]" header
components:
securitySchemes:
bearer:
type: http
scheme: bearer
This change will generate code which uses a new HttpBearerAuth class, which will send a "Authorization: [scheme] [accessToken]" header.
This change is slightly larger and more impactful than simply using OAuth for bearerBearer, but it allows for scheme values other than bearer.
This fix was enabled by the recent commit of 80ca67cfda
This PR is an alternative to https://github.com/OpenAPITools/openapi-generator/pull/1972
* update petstore samples
* Update HttpBearerAuth mustache templates and samples
* correct the expected number of generated java client files
* update the retrofit2 HttpBearerAuth template and samples
* Add resttemplate-specific HttpBearerAuth mustache and samples
* add vertx-specific HttpBearerAuth template and samples
* add java webclient-specific HttpBearerAuth template and samples
Previously, if you used a packageName of the form "foo.bar.baz", half of the
generated files of the python generator went into a subdirectory
"foo/bar/baz" (correct), the other half went into a subdirectory
"foo.bar.baz" (incorrect).
* `jq` executable is a much cleaner way to get version number
* Using `jq` and getting `releases` instead of `tags` allows us to get latest stable release
This has the effect of making GitHub attribute the language of the project correctly (e.g. as Java). This is useful for sites which list projects by assigned language.
* Resolves#525 for Rust client generator with reqwest library.
* Use Reqwest "query" method to generate query URL.
* urlencode URL string parameters.
* Generate rust-reqwest client, and verify it compiles and work as intended.
* Map file params (to "&std::path::Path") and support multipart operations (with file params) in Reqwest library.
* Cleanup: template compression to remove unecessary blank lines in generated code.
* - support for PHP 7.1, Zend Expressive 3.2 and PathHander 0.4 for php-ze-ph generator
* - fixed mess with petstore samples (added new files, removed obsolete files)
* php-ze-ph:
- overwriting "*/*" media type for producers with "n/a" (PathHandler does not support that cause it makes no sense to return response with "Content-Type: */*")
- "array" return type declaration for handler methods with ambiguous "container" return type
- better way to generate attribute annotation stub for request body data with ambiguous "container" type
- fixed missing dependency in composer.json
- minor optimization for container.php
- samples for OAS3 petstore spec
* php-ze-ph:
- note about ext-yaml in stub README
- updated .gitignore
* php-ze-ph:
- logging '*/*' replacement as warning
* add multiple servers support to JS ES6
* multiple server support in js es5
* using exports in es5
* fix index check
* add oas v3 js es6 client to travis
* add multiple server support to python client
* various fixes
* minor fixes, add tests
* test oas2 python first
* fix tests
* fix issues reported by flake8
* update code format
* add python petstore to ensure up-to-date
* rearrange test
* fix E501
* fix tests
* add new files
* fix script permission
* fix index check
* update samples
* Allow connection on port != 80 or 443
In the current implementation a client can't connect on another port than 80 or 443
This commit allows to specify a host like "localhost:8080" when creating the client
The port is then used when initiating http requests
* Update Petstore Sample for CI
* Fix unused return value
* Update petstore sample
* Rename host parameter into authority
* Iniital docusaurus based site
* Remove error about default local being used by String.format
* Change pinned users to represent global presence rather than alphabetical order pinning
* Include generator indexes in ensure-up-to-date (docusaurus site and /generators/README)
* Add Font Awesome attribution footer
* Remove feature callout until it is completed
* Include NPM try it out section
* Improve "Getting Started" type docs
* Include new custom template documentation
* Updating templating and customization docs
* Add vendor extension docs
* Cleanup templating page(s).
* Move users to yaml file for easy edit.
* travis configuration, and baseUrl mods to image URLs
* [docs] Migrate FAQ, release summary from wiki
FAQ has been split into multiple smaller documents to better categorize
and allow users to find what they're looking for (in docs folder or in
new website).
Release summary information (versioning strategy and cadence) has been
migrated from the Wiki and clarified a bit.
Also adds copy button for all code snippets in website.
* Copy current contributing/code of conduct to website
* [docs] Creating a new generator
* update okhttp to latest version
* update templates to use okhttp3
* update java samples
* fix tests
* update tests under CI/samples.ci
* add tests to java client
* fix bin script to restore test files
* fix debugging
* add more tests and minor fixes
* update samples
* Clean up file output handling
This attempts to normalize all generators to use OS agnostic
File.separator.
It also cleans up some areas in code where we replace "." in full file
output path with File.separator. We should only be modifying directory
names we own, and should avoid modifying anything that can be provided
by a user.
It would probably be better to use Paths.get(…).toString() in all cases.
* Fix missed path separators in java codegen
* Adjust Java codegen path replacements
* Convert / in full path replacements, as / is forbidden in Windows, and noop elsewhere
* Use Paths.get where files are written, to better handle Windows path constraints
* Add test case that reproduce the issue #1782
* Fix missing RequestBody.required
* Update samples
./bin/utils/ensure-up-to-date
* Run ensure-up-to-date script
./bin/utils/ensure-up-to-date
* Add test case that reproduce issues
* Fix a problem that points to a folder that doesn't exist
* Improves for windows
* Run ensure-up-to-date script
./bin/utils/ensure-up-to-date
APIs may more than one auth method (for example both an app key and basic auth).
This changes the example to only initialize the config option once instead of once per auth method.
* [gradle] Add 4 boolean properties supported by codegenConfigurator
* [gradle] Add Windows workaround for Android Studio
After release 3.0.0, a guava dependency was updated and this exposed an
issue in Windows where Guava's CharMatcher.ASCII is called to validate a
path. The version of Guava referenced by OpenAPI Generator causes a
'NoSuchField' error because the referenced dependency names this static
field CharMatcher.Ascii.
This error is not surfaced on macOS, and appears to be Windows-specific.
This adds a potential workaround to the Gradle plugin's readme.
See #1818 for more details.
* Adds two models to the v2.0 spec, uses examples as defaults in python client
* Adds array default and type_holder_default and type_holder_example tests
* Re-generated python security client with ./bin/security/python-petstore.sh
* Changes comment text, rebased master
* Updates client + server samples
* Adds missing samples updates
* Changes python client to look for true or false with booleans in toDefaultValue
* Changes boolean casting to use Boolean.valueOf
* Adds deserialization fix for python tests
* Changes Mock to namedtuple in python deserialization tests
* Actually remove unittest.mock
* fix: force to decode as utf-8 when header contains application/json to avoid text garbling.
The original processing is using `response.body` to deserialize as json.
However, this is decoded by latin1 if the header contains only "application/json" instead of "application/json; charset=utf-8".
Because of this behavior, if the response body is encoded UTF-8 but the headers doesn't contain charset, the body will garbling.
cf: https://github.com/dart-lang/http/issues/175
Since playframework 2.6 returns "Content-Type: application/json" without "charset=utf-8", I changed this parsing algolithm.
* fix: force to decode as utf-8 when header contains application/json to avoid text garbling on error.
* fix: set fields to null if json value is null.
* rebuild dart2 petstore
* rebuild dart petstore
* rebuild petstore
* [DART]fix: set fields to null if json value is null.
* added auth support in apiClient
* added httperror response in detail
* added apikey to apiClient create
* remove unnecessary print statements
* remove freeing of apiclient object from apiclient_free function
* added auth params to apiClient_free function
* free only received data and apiClient object to be freed by user
* Add test case : generateFromResponseSchemaWithArrayOfModel
* Add test case : generateFromResponseSchemaWithArrayOfPrimitiveTypes
* Add test case : generateFromResponseSchemaWithModel
* Add test case : generateFromResponseSchemaWithNoExample
* Use String.format for windows
* Specify locale to prevent issues due to locale
* [java][webclient] register jackson modules on object mapper
* Regenerate client
* Removed findAndRegisterModules() call
* ObjectMapper is initialized only if NOT provided by client
* Remove (now) useless DateFormat inside buildWebClient signature and regenerate client
* [Slim] Add fork of token middleware
This commit will be dropped, when official repo approves submitted PRs.
Right now it's for test purposes only.
* [Slim] Adds token middleware to template
* [Slim] Move auth implementation to external classes
* [Slim] Update readme
* [Slim] Add config example
* [Slim] Remove deprecated package
Considered to use dyorg/slim-token-authentication for all authentication
schemes. User needs to decode and parse Basic token himself, but it's
pretty simple task and there are many code examples in
the web. Most of time solution is two lines of code.
* [Slim] Format phpdoc comments
I've changed PHP version to 7 and updated comments to follow main
recommendations. Used PHPCodesniffer rules are Generic.Commenting,
Squiz.Commenting, PEAR.Commenting. Of course I applied only reasonable
sniffs from this standards.
@category tag has been deleted as deprecated accordingly to
phpDocumentor offical docs.
Ref: http://docs.phpdoc.org/references/phpdoc/tags/category.html
* [Slim] Refresh samples
* Extract a method "flattenPaths" to reduce the scope of method
* Tweak
* Rename parameter name
* Extract a method "flattenModels" to reduce the scope of method
* Rename parameter name
* Rename: models -> components
* Delete comment
* Extract a method "flattenRequestBody" to reduce the scope of method
* Extract a method "flattenParameters" to reduce the scope of method
* Extract a method "flattenResponses" to reduce the scope of method
* Tweak types
* Reduce indentation
* Add test case : arbitraryObjectModelInline
* Delete legacy test case : testArbitraryObjectModelInline
* Add test case : arbitraryObjectModelWithArrayInlineWithoutTitle
* Delete legacy test case : testArbitraryObjectModelWithArrayInlineWithoutTitle
* Add test case : arbitraryObjectModelWithArrayInlineWithTitle
* Delete legacy test case :
testArbitraryObjectModelWithArrayInlineWithTitle
* Add test case : emptyExampleOnStringTypeModels
* Delete legacy test case : testEmptyExampleOnStrinngTypeModels
* Add test case : arbitraryObjectResponse
* Delete legacy test case : testArbitraryObjectResponse
* Add test case : arbitraryObjectResponseArray
* Delete legacy test case : testArbitraryObjectResponseArray
* Add test case : arbitraryObjectResponseArrayInline
* Delete legacy test case : testArbitraryObjectResponseArrayInline
* Add test case : arbitraryObjectResponseWithAdditionalProperty
* Delete legacy test case : testArbitraryObjectResponseMapInline
* Uncomment a valid test case
* Add test case : inline request body with title
* Delete legacy test case
* Delete unused import
* Delete legacy test case which is already implemented by other test
see InlineModelResolverTest#resolveInlineArrayResponseWithTitle()
* Delete legacy test case which is covered by other test
* Add test case : arbitraryObjectBodyParam
* Delete legacy test case : testArbitraryObjectBodyParam
* Add test case : arbitraryObjectRequestBodyProperty
* Delete legacy test case : testArbitraryObjectBodyParamInline
* Add test case : arbitraryRequestBodyArray
* Delete legacy test case : testArbitraryObjectBodyParamWithArray
* Add test case : arbitraryRequestBodyArrayProperty
* Delete legacy test case
* [Slim] Add encodePath method
* [Slim] Add tests for encodePath method
* [Slim] Use unescaped path in router
Both variables basePathWithoutHost and path are already urlEncoded in
codegen itself. Builtin html encoding in mustache is redundant. We can
use these raw codegen values with no fear.
* [Slim] Refresh samples
* [Slim] Add PHP_CodeSniffer config template
* [Slim] Update doc
* [Slim] Add local configs to gitignore
PHPUnit and PHP_CodeSniffer provides the same developing pattern when
user overrides global config with local one. In local config he can
set environment variables. Official doc recommends to not commit local
config files.
* [Slim] Remove phpcsStandard CLI option
Now user have full freedom to override config file. This option is not
used and not necessary anymore.
* [Slim] Refresh samples
* add pet, array of array test, use CompareNetObject for comparision
* add an option, should trigger ci failure
* update doc
* use useCompareNetObjects in csharp-refactor petstore
* fix project template
* Add a test case of resolving inline request body
* Delete legacy test case
* Add a test case of resolve inline request body with required
* Delete legacy test case
* fix discrimintator name not following variable naming convention
* fix test
* update samples
* use discriminator name directly in php
* single quote array index
* Revert "Disable rust-reqwest petstore test"
This reverts commit 9e1cce2e7b.
* Revert "Fix various CI issues (#1722)"
This reverts commit 77270a0118.
* Revert "[Rust] Support formParams and fix list-params. (#1678)"
This reverts commit 4a494b45d3.
* [Rust] Support formParams and fix list-params.
Form params were previously unsupported, and list-params would produce code that didn't compile.
* update rust samples
* [csharp-refactor] Minor changes to JSON mime usage
🐎 This maeks the regex static to reduce GC overhead for active clients.
This also removes the lowercase call on the mimetype before evaluating,
as the regex already uses the inline modifier for case insensitivity.
* [csharp-refactor] Regenerate sample
* WIP: creating regex for our generators which will allow the bot to automatically label issues and PRs
* Include additional WIP regex
* Remainder of implemented generators
* Add tests for regex in auto labeling
* [Swift] Update Alamofire version and update tests and Swift version to 4.2 for default and RxSwift variants
* Update promiseKit for Swift 4.0
* Update project files.
* Merge branch 'master' of https://github.com/OpenAPITools/openapi-generator into OpenAPITools-master
# Conflicts:
# samples/client/petstore/swift4/default/SwaggerClientTests/SwaggerClient.xcodeproj/project.pbxproj
* Merge in latest master
* Remove typo in bash file
* Update model.mustache
fix serializable import for cxf-cdi
* Update pojo.mustache
add implements to the pojo if isSerializable is true
* Update model.mustache
add import statement to fix compile issue when {{#serializableModel}} is true
* Update pojo.mustache
remove extra space to prevent unecessary diffs in petstore examples: diff --git a/samples/server/petstore/jaxrs-cxf/src/gen/java/org/openapitools/model/*
* Add Model.build_from_hash
* Use Model.build_from_hash instead of Model.new.build_from_hash
* Update sample for ruby-client
* Update sample for openapi3 ruby-client
* Generator erlang-proper
Used to generate PropEr generators for property-based testing
* Rearrange *_statem.erl functions and remove *_statem.hrl
* Optional weight function
* Optional argument to override generated values
* Export function with arity 1
* Move syntactic sugar to header file
* Only provide body when its allowed
* The weight function should not depend on the state
* Fix escaped regex values in Python client (#1517).
* Override PythonClientCodegen toRegularExpression() method to correct
issue with backslashes being escaped. This issue was a result of
calling escapeText() in the parent DefaultCodegen class.
* Only escape unescaped forward slashes in PythonClientCodegen.
* Override addRegularExpressionDelimiter in PythonClientCodegen.java
such that only unescaped forward slashes in the pattern get escaped.
* Adds a new test resource .yaml file for specifically testing this
issue.
* Check for regular expression modifiers in PythonClientCodegen.
* Adds check in postProcessPattern() in PythonClientCodegen.java to
check if regular expression has modifiers defined. If so, it throws an
exception as modifiers are not currently supported in the Python
client.
* PythonClientCodegen warns that regex modifiers are not supported.
* Changes behavior in PythonClientCodegen.java to no longer throw an
IllegalArgumentException in the case that a pattern contains
modifiers. A warning message will be logged instead stating that
modifiers are not currently supported by the codegen class.
* Remove warning for PythonClientCodegen regex modifier support.
* Removes warning message from PythonClientCodegen.java stating that
regular expression modifiers are not currently supported. Further
code review and testing revealed that this feature is already
supported and working.
* Add updated Python client sample files.
Fixes#1696
An object schema containing no properties that also has additionalProperties
set to an object schema with no properties will cause
ModelUtils.isFreeFormObject to throw an NPE.
This PR adds additional checking to avoid the NPE.
* [Typescript][Fetch] Always initialize queryParameters
* [Typescript][Fetch] Resolve date and date-time formats to parameter type Date
* [Typescript][Fetch] Update models template
- Add `readonly` modifier to readOnly parameters.
- Omit readOnly parameters from requests when serializing models
- Use allVars in models template when serializing/deserializing requests
* [Typescript][Fetch] Omit time component when parameter format: date
* [Typescript][Fetch] Add moduleResolution: node option to tsconfig.json
* [Typescript][Fetch] Added non-model enums
* change folder structure for external and added list as primitive type
* modified gitignore for C generator
* change include statement as per directory structure
* added projectname variable for using in cmakelists
* modified cmakefile:compile files irrespective of testfiles and add support for make install
* updated readme with how to compile and how to use
* CMakeLists change curl to 7.58.0
* fix indentation
* add remove as reserved word
* Add GraphQL express/apollo server generator
* add basic resolvers; adjust parameters/input types
* small adjustments and improvements
* adjust logger config for GraphQL generators
* remove MaxPermSize form bash script as it will be removed from later Java versions; add isNullable utility helper method; Adjust TODOs for graphql implementation
* re-created samples for graphql config and server generators
* re-added templates for graphql config generator
* add graphql-config-petstore bash script
* add isNullable utility method
* fix javadoc issues
* adjust licence headers
* rename Generator to Codegen for GraphQL classes
* renaming, minor enhancement to graphql generator
* add graphql server samples
* add windows batch files, rename directory
* Ensure that generic JSON bodies are correctly autogenerated
Generates valid Rust for an arbitrary JSON response body of type `object` with no other schema.
* [Haskell Servant] Upgrade to lts-12
- Upgrade Servant to the latest version
- Add Maybe for optional values
- Add UUID, UTCTime and Day types
- Fix the URL configuration so that it has one param with all data
- Add Data and ToSchema instances to models
- Switch to TLS http manager so it can connect to https urls
- Add nicer API to call the endpoints
- Add Nix support
* [Haskell Servant] Upgrade Petstore
* [Haskell Servant] Delete old swagger-petstore samples
* [Haskell Servant] Use generics for ToForm and FromForm instances
* [Haskell Servant] Generate ToSchema instance only if it's safe to do
* Run ./bin/utils/ensure-up-to-date to re-generate samples run in the CI.
* Fixed issue #1524 that caused the `useDateTimeOffset` additional property for the `csharp` generator not to work.
* Run ./bin/utils/ensure-up-to-date to re-generate samples run in the CI.
* Fixed issue #1531. Now in C# operation parameters are post-processed to correctly mark them as enumerations. The api.mustache C# template now marks parameters as nullable when they're non-required enums.
* #1531 Added fix for enum, non-required parameters to the interface of the auto-generated C# Apis.
* Fixed error with the development of ticket #1531, which duplicated nullable question marks for primitive types.
* Add validation of required properties
Add Header extraction for client
* Remove some todos
* Add Test for Store API
Improve some checks for serialization
* Returns status code which defined at Response Object
* Tweak indent
Remove the spacer "{{#async}} ... {{/async}}" "{{^async}} ... {{/async}}"
* Update samples^
* Fix broken indentation
* Update samples
* Revert methodBody.mustache
* Revert "Fix broken indentation"
* This reverts commit 95b6a00f8b.
* Revert "Tweak indent"
* This reverts commit ba2cedc897.
* Revert "Returns status code which defined at Response Object"
* This reverts commit f676a89e23.
* Example contains status code
* Update samples
./bin/spring-all-pestore.sh
* Fix syntax error
* Update samples
* Run bin/utils/ensure-up-to-date
* Make the changes an option `returnSuccessCode`
* Run bin/spring-all-pestore.sh to update samples
* Run ./bin/utils/export_docs_generators.sh
* Fix swagger-api/swagger-codegen/issues/8138 swagger-api/swagger-codegen#8138
When JSON payload needs to be in the body (`"in": "body"`), it must not generate a multi-part body, but embed directly in HTTP body.
* update elixir samples
* update elixir client samples
* remove double quote
* update samples
* remove string boolean map spec
* add logic to skip array alias being generated as model
* fix alias to array
* remove unused ruby files
* remove unused ruby (oas3) files
* unalias response schema
* fix NPE when no model defined
* fix ruby openapi3 script
* update samples
* add global openapi, schemas for unaliasing
* minor code cleanup/refactoring using globalSchemas
* Revert "minor code cleanup/refactoring using globalSchemas"
This reverts commit 20a2bbc6fc.
* 1506 allow zonejs 0.7.x and 0.8.x to support a wider range of angular versions
* #1506 Removed zone.js as peer since it comes with angular itself
* #1506 Removed zone.js as peer since it comes with angular itself
- fix build for example-app + tests-integration in Samples (due to change in Category)
- upgrade stack to 12.18
- fix typename generation bug for array params
* Use appDescription in composer.mustache
* Update petstore files
* More updated php petstore files
* Yet another updated php petstore file
* Use "{{{appDescription}}}" instead of "{{appDescription}}"
* added my fork from https://github.com/Place1/swagger-codegen-typescript-browser
* ran bin/typescript-fetch-petstore-all.sh
* use FormData.append rather than .set for IE11 compat
* reverted change to licenseInfo.mustache
* reverted some comments
* added package.json and tsconfig.json back to the generator
* added support for blob (application/octet-stream) responses
* models and apis are now in folders
* added support for modelPropertyNaming based on the spec
* bug fix
* updated samples
* Restore pom.xml for typescript project
* Restore samples/client/petstore/typescript-fetch/tests/default/package.json
≈
* added support for response type Date conversion
* updated samples
* Rework pom in "samples.ci"
* Restore "samples/client/petstore/typescript-fetch/tests/default"
* updated configuration class to use property getters to allow clients to implement configuration values as getters
* added {{datatype}}ToJSON functions to handle serialization and naming conversions
* fixed missing import
* fixed compilation error. updated samples
* 1 character change to get CI to run again
* updated samples
* added support for array type request body
* updated tests
* support for optional request bodies
* updated models json converters to handle undefined inputs (to simplify usage in optional contexts like optional request bodies)
* updated samples
* updated tests
* changed to typescript version 2.4
* updated samples
* support for optional properties being null, undefined or omitted
* updated samples
* bug fix
* bug fix
* updated samples
* ran npm install in test project
* patch to get tests running
* added support for retrieving raw response. added support for binary request bodies. added support for blob data type for files/binary.
* add c generator (1st commit)
* udpate c model template
* more fixes
* Add string replace function for C generator (#908)
* Add string replace function for C generator
* Fixed replacement for variable only
* Fixed problem for different datatypes of paramName
* store return value of modified path
* set str_replace variable to be same as original variable.
* [C] Fixed coding style issues
* add uncrustify support
* update petstore sampmles
* add Locale.ROOT
* added test-api-client.c to include test cases for strReplace function
* added header and body mustache and made changes to ClibcurlClientCodegen.java accordingly
* [C] renamed functions in apiKey.c.mustache according to apiKey.h.mustache
* [C] changes in import statement
* renamed apiKey.h to keyValuePair.h and made necessary changes in the codes
* changed apiKey.c according to keyValuePair.h
* fixed import statement in model
* added code for generating struct in model-header.mustache
* added typedef struct for model-headers
* updated sample/client/petstore/C
* fix locale
* [C] Function addition and modification of major structs (#1020)
* added readme file
* fixed parameters in api headers functions
* made changes to add readme file and typemapping of array to list
* fixed header import statement in apiheader files
* modified struct of model type in model header
* updated sample
* modified README file
* updated sample
* parse from json function added
* modified struct and create function
* added include for model
* modified parsefromjson function
* modified struct and create function for more datatypes
* added mapping for date-time and modified model import return statement
* modified function parameters
* modified include statement
* fix function in api body
* updated sample
* clean up files
* regenerate c petstore
* fix error message when setting uncrustify
* add version to uncrustify usage
* added uncrustify rules in mustache (#1021)
* added uncrustify rules in mustache
* updated sample
* updated same with crustify
* updated sample with uncrusitfy 0.67
* modified readme about uncrustify requirements
* fixed mistakes in readme mustache and sample readme
* fix file import, unformat c petstore
* fix import in test files
* fix model with complexType
* fix free string, format the code using uncrustify
* modified sample
* Modified sample to check
* return type issue figured,more to do to fix it
* minor fixes to make complete code compile
* Compiling sample code. Store has issue with map.
* comment out test file generation which is not req.
* commented operation name
* fixed various issues responsible for code not compiling
* test mustache temporary for testing
* updated sample add,del,getbyid works, formparam yet to do
* few minor changes and added fuction to add different header and content type in apiClient
* added code to upload image
* added function to test upload image
* fixes for fileupload and various other small things
* fixed issue due to xml produces
* updated sample:working sample add,del,find,uploading:tocheck ,
* added free functions for variable where memory is allocated
* rename imagecontainer struct to filestruct
* fix issues with if functions for all list types
* fixed issue with primitive return type in header file
* updated sample w/ free functions
* update c samples
* remove corrupted file
* update samples
* test cases for APIs
* added function to generate test cases from new mustache
* mustache files for manual written test cases
* added default content type to application/json
* fixed issue with primitive return type
* fixed issue with bool type
* added file apiKey.c
* updated sample tested
* update c environment variable (#1090)
* add mapping for map (#1103)
* minor update
* revert list paramter check to NULL
* modified return type for primitive(map - list_t)in mustache
* removed apiClient_free as it was two times
* updated sample
* fixed issue of path parameter when string less than parameter len
* fixed issue for form paramters upload
* added checks to avoid seg faults
* updated sample
* added check for null value in form parameter
* modified size of mallocs to dynamic
* updated sample
* Add C Petstore to Travis CI (#1136)
* setup CI for C petstore
* update bash script permission
* unit petapi test
* fixed memory leak in strReplace and apiClient Functions
* modified return value for status generation
* added enum defination and functions to convert and back from string
* added function for enum and made changes to free memory at necessary places
* added datatype handling for enum
* fixes regarding memory allocation and free
* updated mustache of test files
* updated sample
* renamed manually written test files
* manual test file for pet
* cleaned common api test file for time being
* renamed test files
* added renamed test files to build test bash
* added file null pointer check
* modified uncrusitfy rules
* minor update to c templates (#1161)
* [C] Fixed enum function declaration (#1178)
* fixed enum function declaration in model headers
* fixed enum declaration in header files for sample
* disable curl verbose mode and add response code variable
* added response code variable in apiClient struct
* modified apiClient header and source file
* added response and removed commented code api-body mustache
* removed commented code from model-body mustache
* removed unnecessary print statements from test mustache
* updated sample
* fixed spaces issue
* Better format in C templates (#1224)
* better format in the c template
* minor format fix
* [C] changed base url from static to dynamic (#1225)
* changed basePath from static to dynamic
* removed unnecessary header declaration
* updated sample
* [C] added curl version check in CMakeList.txt (#1248)
* added curl version check in CMakeList.txt
* Updated README for latest curl version
* [C] Major changes to keyValuePair function (#1282)
* removed static declaration
* changed static declaration
* added difference for string and non string
* added more code for different function for string and non string
* fix issue with param name
* change value in keyPairValue to void
* fixed issue of difference in function name cases
* added support for non char parameters in api
* fix issue of map return data
* modified manual-StoreAPI map return data handling
* fix minor mistake
* added support for map and changed code to support value of keyvaluepair as char and other
* updated sample
* fixed api header declarations
* change map declaration in header
* resolved issues realted to map data handling
* fix minor issues
* add N at start if enum variable starts with number
* override toParamName method
* changed paramters to paramName from baseName
* change variables in apibody from baseName to paramName
* Skip test file generation (#1459)
* skip test file generation
* skip overwriting CMakeLists.txt
Ensure the same date format string is used throughout the generated code (use the one set in Configuration.swift).
Ensure the same date formatter options are used when encoding dates as well as decoding dates. If a consumer has set their own date formatter on CodableHelper, use that when encoding dates too.
Adds DateFormatTests to the SWIFT4 unit tests.
Updates the SWIFT4 petstore samples
- Remove pointer usage in generated models
- Use const reference wherever possible
- Reuse same super class for Qt5 client and server
- Support primitive return types for Qt5 client
- Add const reference to API calls
* Avoid creating unused ThreadPools
Instead, create ApiClient.pool on first request for .pool property.
avoids spawning n-cpus threads (the default for ThreadPool) at instantiation of every ApiClient
* update doc
* set pool_thread to None
I think these tests cover all the problems with rust-server and inline objects I know about. This should show us when we've fixed the problem.
Also fixes a CI failure.
* Added tests and fix for issue #1392. Param validation with regex not recognizing \d correctly in Ruby client.
* Added generated files to pass ./bin/utils/ensure-up-to-date which is run by circleci
Builds on #1180 by @colelawrence. This addition to the rust-server generator enables the use of text/html responses as plaintext.
I've added an html endpoint to the sample to demonstrate that this works (and fixed the problem that that uncovered).
This MR allows package version to be specified in Rust in the generate argument list, with the argument `-DpackageVersion=<package_version>`. If this argument is present then the version in the resulting Cargo.toml file will be the passed value. If this argument is not present then the version in the OpenAPI definition file will be used, as per current behavior.
* feat: OpenApi-generation from within eclipse (#509)
* Added life-cycle-mapping for recognition by M2E
* Make BuildContext injectable by M2E in oder to detect if json-source
has been modified and a regeneration is required.
* core: fix indentation problems, remove commented code
* add group parameter support to php template
* more update for group parameter
* fix call to protect function
* fix missing $
* update based on feedback
* create fake endpoint to test group parameters
* sync fake petstore spec v2, v3
* fix php doc for group parameters
* update petstore samples
* update fake petstore spec v2
* update petstore samples
* fix spec and update samples
* Improve method signatures to use const when the value won't change
* Update PetStore
* Change setters for non-primitive types to receive const reference parameters
* Update PetStore
* Generator erlang-proper
Used to generate PropEr generators for property-based testing
* Fix binary/2 implementation. Add behaviour attribute.
* Remove line from copyright notice
* Avoid escpaing HTML and remove suffix from variable name
* Update samples
* Include querystring parameters
* We use export_all, don't consider warnings as errors
* List command sequence on failure
* Use hasConsumes instead
* Add nowarn_export_all, re-add warning_as_errors
* fix wrong formParams type
* run typescript-angular-petstore-all.bat
* more typesafe fix
* fix formatting
* run typescript-angular-petstore-all.bat
* fix compile problem with previous versions of angular
* generate code
* fix compile problem add <any>
* try Johannes Hoppe solution
* generate files
* handle and return API response decode error
* ensure-up-to-date
* refactor go/api.mustache for easier readability
* disable error reporting for TestPlaceOrder with invalid RFC 3339 `+0000` UTC offset present in Petstore test server
* Port of PR https://github.com/swagger-api/swagger-codegen/pull/8804.
* Correction of conflict with PR #528 (missing template file).
* Add rust-reqwest samples to Circle CI tests.
* Add integration test pom.xml file with launcher to trigger cargo execution.
* Deduplicate Maven project name.
* Fix "api_key" header for Petstore.
* Better API key management.
* Fix query param for lists of objects other than strings (numbers, etc.).
* Update to reqwest 0.9, and refactor of header management (using reqwest transition feature).
* Merge scripts generating rust-hyper and rust-reqwest samples.
* Consistent full stops.
* Use raw variables in all Rust mustache templates.
* Replace production build in CI with a quick simple check.
* Update samples.
* Finish Reqwest 0.9 migration (removing "hyper 0.11" transition feature).
* Configuration implements Default trait.
* API template reorganized: HashMap is not required anymore.
* Revert "Merge scripts generating rust-hyper and rust-reqwest samples."
This reverts commit 970f996566.
* Remove deprecated "-XX:MaxPermSize" java arg.
* Implement the ability to read packageName and openAPISpecName from a json file
* Replace '{{openAPISpecName}}' with '{{{openAPISpecName}}}'
* Update erlang-petstore-server
* Add support for using Spring HATEOAS to add links in the spring generator.
* Ensure that Spring HATEOAS links appear last in the JSON serialisation of objects.
* A couple of changes following code review:
1. Make sure the @JsonPropertyOrder annotation is only used when the jackson library is being used since it's a part of the jackson library.
2. Make sure to include the Spring HATEOAS dependency in the pom file for the spring-cloud and spring-mvc generators when the hateoas option is enabled.
* Don't order the json properties since there's no requirement for the links to be last.
* Remove unnecessary import.
* fix InlineModelResolver's logis and use openapi-generator's InlineModelResolver, so that nested "required" works correctly
* add "required" to nested model schema
* update ensure-up-to-date to include openapi v3's jaxrs
* change test required field
* fix sample shell script, hide timestamp
* fix NPE
* move test case to petstore-with-fake-endpoints-models-for-testing.yaml
* fix jaxrs-jersey (oas3) example generate shell script to use petstore-with-fake-endpoints-models-for-testing.yaml
* add default value
* re-generate samples
* typescript-axios: Added possibility to add custom axios instance.
This comes in handy if you want to use mocks in tests.
* typescript-axios: aligned to fetch API for custom instance
* update ruby samples with OAS3 spec
* add server support to ruby api client
* minor format change
* minor format fix, skip form models
* better exception and add test for invaid value
* remove exception test code
* saving the fixes.
Used commons-configuration2 for
org.apache.commons.configuration2.PropertiesConfiguration.
It makes the configuration easier to read amongst other benefits
* removing tabs
* updating and simplifying based on sugegstion from William. This should
now fix across all generators
* upgraded pom
* added some javadocs for the new method
Update to version 2 of the `swagger` crate, which contains changes intended to make it easier to debug errors involving middleware and contexts. Crates making use of the autogenerated libraries to also update their swagger dependency to version 2. See [here](https://github.com/Metaswitch/swagger-rs/blob/2.0.0/CHANGELOG.md) for details.
This updates config-help to have more control over how the output is
written for the user. We dump config-help output for per-generator
documentation, and this cleans up some cross-platform compatibility
issues that might arise from tweaking the output for clarity in the
target file.
Previously, we'd pipe config-help output to sed, then insert the
generator name, which we then redirected to an output file. The sed
syntax had to include a trailing newline so our tabbed configs would
automatically become code tags in markdown. Inserting newlines into sed
replacement strings doesn't work the same across platforms, mostly
because of Apple's customizations to GNU programs.
This commit moves the generator name and newline insertion into the
command itself. It also includes a new --output option, allowing the
user to specify the output location of the config-help.
Currently, we only dump in plain-text, and it is only coincidental that
our plaintext output results in a desirable Markdown output. If
tabbed lines did not automatically convert to a code style block, some
generators like C# would end up with broken text (`List<T>` would become
just `List`, for example).
I had previously discussed extending config-help to output to other
formats like asciidoc. This commit does not introduce any steps toward
that end.
* Run ./bin/utils/ensure-up-to-date to re-generate samples run in the CI.
* Fixed issue #1126. DefaultCodegen now sets the hasChildren property of CodegenModel when children models are added to the model. Changed the modelGeneric.mustache template to decide whether to include a base validation model (for children to inherit) based on the hasChildren property, and not the discriminator property.
* Run the ./bin/utils/ensure-up-to-date script after fixing the issue #1126
* Reverted modification in go samples, performed by ./bin/utils/ensure-up-to-date, that are failing in CI.
This partially reverts commit 2168df0f82.
* Run ./bin/utils/ensure-up-to-date to re-generate samples run in the CI.
* Fixed the #1088 issue by removing the update of enumeration properties while processing objects that reference them. Launched the ./bin/csharp-petstore-all.sh script.
* update jmockit version
* list jvm
* test jdk9 in appveyor
* use latest version of gradle
* update to jdk9
* use openjdk9
* use default java version in appveyor
* use jdk8 docker image
* consolidate bash, ios pom into parent pom
* consolidate circlecii pom into parent pom
* remove circleci pom.xml
* Allow specifying/overriding the parent in the pom file for Java and Spring generators.
* Don't add extra whitespace to the pom file when the parent isn't overridden.
* Remove accidentally added white space.
* Start working on fixing default value in Restbed Server Api Template
* fix default value in DefaultCodegen
* Revert "fix default value in DefaultCodegen"
This reverts commit ce690069d2.
* fix default value in cpprest
* update cpp restbed samples
* remove left|right point double angle quotation marks
* move to DefaultCodeGen and update TypeScriptAngularClientCodegen to reflect new clean function so that the filename AND imports are added correctly
* rename to a more accurate name :)
* shippable fixes
* shippable javadoc fix
* replaced cleanModelFilename with sanitzeName
* remove DefaultCodegen changes
* renmae Go post process file env variable
* add back samples/client/petstore/c/libcurl.licence
* keep go samples up-to-date
* update go petstore samples
* update go samples without formatting
* Generate default values for optional model fields in scala-akka
Fix#1118
* Updated akka-client petstore with defaults for optional model fields
* update petstore sample with scalafmt
* Use the same name for all exposed encoder & decoders;
* Improve imports (limit exposures);
* Add support for OAS3 discriminators;
* Distinct between 0.18 & latest mustache files.
* copy from go-server and add go-gin-server generator
* change the templates for the gin
* fix warnings of the golint tool
* fix the path of script
* add samples
* delete unnecessary comments (#1048)
* make the help message more appropriate (#1048)
* fix the link address format (#1048)
* minor improvement
* If required and readonly, a field should be optional. This is to allow people to get and easily put back.
* Use list instead of array, use String instead of kotlin.String etc
* Update samples
* code review: fix annotation formatting
* code review: revert change to use listOf
* [Ada] Operation security scopes are ignored when generating the server (#1043)
- Update fromOperation() to keep the operation required scopes for each auth
method and store that information in the x-scopes vendor extensions attribute
- Update postProcessOperationsWithModels() to process the operation required
scopes and build a list of authMethods which only contain the required scopes
for the operation and store these authMethods in the x-auth-scopes attribute.
- Update postProcessAuthMethod() to handle the logic of filtering and building
the operation authMethod (new instances are created because we must not
modify the global authMethod definitions)
- Update the Ada server templates to use the x-auth-scopes instead of authMethods
Add a URL prefix parameter for the Ada server instantiation
* Fix the Ada server template to use the x-auth-scopes for operation scopes
* Add support for access token retry in okhttp-gson lib
* Update expected number of generated files in test
* Update samples
* Update security samples
* Fix default user-agent and update samples
* allVars is duplicating child preoperties when models are inherited. Filter out these duplicates in the KotlinSpringServerCodegen
* isInherited property was not being populated in the CodegenModel, re-parse the models in the KotlinSpringServerCodegen class and populate the property here
* Add template support for Kotlin models which require inheritance from a base class to support oneOf declarations in the api yaml
* Change optional for parameters to use Kotlins nullable
* Update petstore api with Optional -> Nullable
* feature: add generator for typescript/axios
* feature: add sample scripts and sample code
* fix: set request body in data property
* feature: add samples and tests for typescript axios client
* test: add tests for typescript axios client
* fix template to add @Valid to POJO fields regarding nest, in java-jersey
* regenerate with for scr in `ls ./bin/*jersey*.sh`; do sh $scr; done
* re-generate with ./bin/openapi3/jaxrs-jersey-petstore.sh
* update api template for jersey1
* re-generate samples
* re-generate samples
* Support Gradle 4.10
Gradle 4.10 is bundled with Kotlin 1.60 and Kotlin DSL 1.0-rc1. The new
Kotlin DSL isn't binary compatible with the `tasks` registration used in
this plugin.
Updating to Kotlin DSL 1.0-rc1 with no other changes would require users
to update to Gradle 4.10.
As a workaround, I've modified the tasks registration being done in
OpenApiGeneratorPlugin.kt, so rather than using the Kotlin DSL's invoke,
it creates tasks manually against the TasksContainer. This works locally
with Gradle 4.7+ for all scenarios in the sample (samples/local-spec).
There may be edge cases that I'm unaware of, and we may want to consider
defining the minimum supported Gradle version of 4.10 in the next major
version of openapi-generator-gradle-plugin if we experience those cases.
* Uncomment snapshots repo (commented it during local testing)
* update pom.xml for exec gradle plugin
* Update the .net core sdk to v2.1 and update the asp.net packages used.
* Upgrade the SwashBuckle Asp.Net Core package to v3.0.0.
* Update the AppSettings json file and add a file used in development.
Also, remove the web.config file.
* Update the program template to use the web host builder class.
* Update the startup class to use the Asp.Net 2.1 paradigms.
* Update the launch settings json file.
* Update the controller template to derive from the ControllerBase class as aposed to Controller.
* Add the SwashBuckle annotations package.
* Add the SwashBuckle.AspNetCore.Annotations namespace to the controller template.
* Update the Startup template to add comments to the Configuration property and an env parameter to the Configure method.
* Update the startup class so we don't need to inject the hosting environment.
* Update the program class to have hte recommended CreateWebHostBuilder method from asp.net core 2.1.
* Update the asp.net core pet store sample server.
* add back aspnetcore 2.0 template via option
* remove web.config for aspnet core 2.1
Support basic query handling
Add helpers for primitive de-serialization
Remove warnings due to unneeded commas
Deserialize basic types in queries
Add dependencies chain for external libraries
Fixes wrong parameter passed to API
This fixes an issue that makes the swift 4 api client fail to compile when using enums with a default value.
The fix changes the toDefaultValue method to check if the property is of enum type, and then returns a properly formatted value.
Looking into the code, I wonder why toEnumDefaultValue is not being used here, which seems to be the case for the java implementation.
* fix circular import issue in python flask
This is very similar change to 3678eaff87
All it intends to do is fix the problem of cirular imports (which was
already fixed for python) in the python flask server.
* removal of type hints in quotes
* Open Virtualan API Implementation
* Menu change
* Delete .swagger-codegen-ignore
* Delete jsonbeautifier.html
* Supporting files for Virtual service setup
* CRLF removed
* Unwanted new lines are removed
* Build issues resolved
* Build issue resolved
* Removed Logger statement
* Logger removed
* Updated
* Codegen virtual services samples for petstore.yaml
* - Code Revamp and Clean up
- Maven plugin related changes
- Samples added
* Tab space removed..
* Annotation based Service virtualization
* Open API code generator changes
* Virtualan samples added with Sprint boot app.
* Build issue resolved
* Removed unwanted files
* Updated with version 3.0.3 SNAPSHOT
* Reverted the options for virtual service in global and not needed now.
* virtualan-plugin integration with open api tool.
* Updated the all review comments and removed all tab spaces.
* Updated the ReadMe generator section.
* New line removed to fix the build issue.
* Spring boot virtualan included in the spring build script
* Included in the spring-all-petstore script
* add elm-format support
* update elm petstore samples
* add trenneman to elm tech comm
* replace dart class with elm class
* revise elm format arguments
* update petstore samples
* Restore support for nullable in rust-server
Accounts for changes in https://github.com/OpenAPITools/openapi-generator/pull/930. Adds a nullable field to the sample to reduce the risk of this regressing again in future.
* Add test for required nullable field
* [PHP] Enhance interfaces, abstracts and traits
It would be helpful to set prefix/suffix for all interfaces, abstracts
and traits in one place. Defaults are set to follow "PSR Naming Conventions".
If user will ask we can add prefix/suffix generator options in future.
I don't see modelPrefix generator option, so I assume it's not important now.
Ref: https://www.php-fig.org/bylaws/psr-naming-conventions/
* [Slim] Refactor to use new helpers
* [Slim] Refresh samples
* Add an option for Dart2
* add dart2 samples, update travis
* fix dart installation
* Upper constraints on the SDK version
* Update dependencies
* supportDart2 option can now be passed through --additional-properties
* Update petstore tests
* Update dart2-petstore.sh
* Running tests on Dart VM
* Fixed JSON deserialization bugs
* Fixed missing initialization of postBody
* Run bin/dart2-petstore.sh to regenerate libraries
* Update pom.xml
* Added SDK version constraints in pubspec.mustache
* Run bin/dart2-petstore.sh to regenerate libraries
* move dart2 test to the end
* update release version, disabled ensure up to date script
* update release table
* update stable version to 3.2.3
* update samples/meta-codegen/lib/pom.xml and release_version_update.sh
An update was made in #876 to remove version from the generated artifact
for openapi-generator-online. The change is missing the -online suffix.
My original glob pattern put the * in the wrong place for
maintainability.
* Add callback model (#372)
This adds a new `CodegenCallback` class, a list of which is now present in
`CodegenOperation`. `CodegenOperation` now also includes a
`isCallbackRequest` boolean since `fromCallback()` (the method added to
`DefaultCodegen` to process operations which contain OpenAPI callbacks)
uses CodegenOperation as the model for a callback request.
A `CodegenOperation` which represents a callback request will have a
`null` operation id.
A test is included for this new model.
* Generate callback request `operationId`
* Add license to `CodegenCallback`
* Kotlin Spring initial bootstrap
* Basic configuration construction for Kotlin Spring
* Wired up with comand line client
* Initial kotlin spring boot application generated using gradle kotlin-dsl
* Added basic support for generating models
* Basic controllers generated without endpoints generated
* Basic spring boot app generated with models and controllers
* Added fix for type mapping in AbstractKotlinCodegen. Originally it was mapping list o kotlin.Array instead of kotlin.collections.List
* Fixed return type mapping
* Sorted bash springboot petstore generator script
* Implemented toVarName in AbstractKotlinCodegen to better handle some edgecases
* Checking for reserved words or numerical starting class names in AbstractKotlinCodegen
* Implemented toOperationId in AbstractKotlinCodegen
* Fixed types that were not correctly being mapped to primitives (byte / arrayOf / mapOf)
* Escaping dollar symbols in function names
* Added support for outter enum classes
* Added basic support for generating services
* Removed option for generated config package. Added option to enable/disable generated global exception handler
* Added configuration option to generate gradle. Generated maven pom.xml file as default
* Fixed up bash scripts for generating test sample code
* Added configurable option for Swagger Annotations
* Added configurable option for generating service interfaces and service implementations
* Added README generation
* Enable optional bean validation
* Added kotlin spring sample to CircleCI pom.xml
* Removed kotlin spring boot from .gitignore
* Minor fixes from PR comments for user submission (#1)
* Minor fixes from PR comments for user submission
* Puts braces around conditional block bodies with one-liner bodies.
* Modifies README.mustache to use artifact id and version supplied by
user (or default configuration)
* Targets templates under resource directory explicitly to prevent the
need to rebuild for evaluation of template-only changes.
* [kotlin-spring] Remove comments referencing sbt in bash scripts
* List of changes based upon code review:
* Additional comments around how we set the title based off the open api spec
* Fixed missing `beanValidationCore` template
* Put the lambdas into the lambda object as other generators do (Ktor, C#, cpp)
* Bump swagger-annotations version to latest pre-2.0 version (1.5.21)
* Set kotlin version to 1.2.60
* Updated README to set port based on template
* Added more additional properties to build bash scripts
* Removed `defaultBasePath.mustache` in place of using {{contextPath}} directly
* Log warning for when `serviceImplementation` is set t o true
* Updated samples
* Generating ConstraintViolation Exception Handler, as Springboot doesnt correctly catch the error and return bad request. Handling other exceptions a litle better
* Small fix for date time mappings (plus sample re-gen)
* Minor fix in README template, where port was using wrong variable
* Fix missing jackson-dataformat-xml dependency
* Fix build - needed to re-run kotlin-server-petstore.sh
* Fixes after merge with master
* Revert "Small fix for date time mappings (plus sample re-gen)"
This reverts commit 4152dc78b4813da71c675272ca90fb31a333aea1.
* Moved type mappings to Kotlin Spring generator
* Regenerated samples
* Regenerated samples
* [Slim] Add phplint package to dependencies
There is no phplint package for PHP 5.5.0 version, so I have to increase
required PHP version to 5.5.9.
* [Slim] Update main doc
* [Slim] Refresh samples
* [Slim] Add PHP CodeSniffer package
* [Slim] Add phpcsStandard generator option
We follow PSR-2 coding style guide in PHP generators. It might be convenient
for users to specify own coding standard without modifying templates. That's
why I've added this option.
At first, I thought to add option validation and accept only standards from
predefined list. But this option also can be a full path to the standard's
root directory, I've changed my mind. User should use this option with caution.
Ref to all PHP CodeSniffer CLI options:
https://github.com/squizlabs/PHP_CodeSniffer/wiki/Usage
* [Slim] Extend readme with PHP CodeSniffer docs
* [Slim] Format templates to meet PSR-2
* [Slim] Refresh samples
* Remove using model namespace when model is unused
* Add comments to clarify introduction of hasModelImport at API/operations level instead of operation/vendorExtensions level.
* Improve handling of all primitive types
* Fix missing includes in case of simple APIs
* Fix minor error in template function
* Remove tabs
* Refactor code for simplicity
* Remove tabs
* rework the router for handling multiple path param
* rework router to handle multiple path parameters
* rework router to handle multiple path parameters
* rework router
* Add support for Multi path param
* Add comments to code block and remove duplicate parameters
* Remove tabs :(
* Add missing imports after resolving conflict
* Use contextPath variable for RestApplication templates
* Update generated RestApplication.java files, as they are skipped by default otherwise
* Update Petstore sample for jaxrs so that CIs can verify the change
* Added forbiddenapis check and fixed the findings in the normal code
* Fixed forbiddenapi findings in java templates and samples.
* Generated all samples for Java.
Fix crash due to concurrent access of managerStore dictionary.
Swift2 and Swift3 had been enhanced respectively with the following
pull requests: #3873#5610
I had previously copied the multi-task description in the gradle
plugin's docs from a response made in an issue. The reference to 'the
old swagger plugin' have no context in the gradle plugin README, so I've
updated that wording.
Also, I found that the link to openapi-generator-cli.sh in the root
README was broken. It pointed to openapi-generator.cli.sh instead of
openapi-generator-cli.sh.
* [Slim] Update main documentation
Kotlin server README has been used as a ref. There are no links to apis and
models docs, because Slim codegen doesn't provide them right now.
Also I'm not sure about white spaces, but we can change it anytime in future.
* [Slim] Refresh samples
* update all swift samples
* fix method name starting with number literal
* better handling of operationId starting with number
* update swift 4 samples
* [PHP] Remove PHP related rules from root gitignore
After conversation with @ackintosh we've agreed that every PHP codegen
should create it's own `.gitignore`. Client libraries(SDKs) should ignore
`composer.lock` file while server stubs better do opposite.
* [PHP] Set .gitignore as default supporting file
* [PHP] Add default gitignore to Client SDK
* [PHP] Add default gitignore to Laravel
* [PHP] Add default gitignore to Lumen
* [PHP] Add default gitignore to Silex
Seems like issue #663 and pull request #681 missed this security script,
I've changed output path in bin/security/silex-petstore-server.sh.
* [PHP] Update Slim
* [PHP] Add default gitignore to Symfony
I've copied few old rules from root gitignore to local one. These rules
should be reviewed by original SymfonyCodegen authors.
* [PHP] Add default gitignore to Zend
* [PHP] Refresh Openapi3 client samples
* [PHP] Add refs to .gitignore templates collection
It makes sense that error messages should be written to STDERR and
all others should be written to STDOUT (as shown in #207). However, it
would be convenient to parse the debugging output when the relevant
flags are set.
This change will disable logging to STDOUT and redirect all log messages
to STDERR when any of the debug flags are set. (Resolves#473)
A user asked about how one would approach generating code from multiple
specifications. Adding this information to the README, as it seems
others would find the information helpful. Also explaining how to use
tasks from this plugin as this may not be commonly known or intuitive
beahvior.
* [Clojure] Add model generation and verification
- Generate clojure.specs from models
- Optionally validate them at runtime (validation is active if
orchestra.spec.test/instrument is called after specs are imported)
- Coerce the results of the API calls to get objects that conform
to the spec (e.g. get Date objects for dates and time instead of strings)
* [Clojure] Make model conforming configurable and opt-out
* [Clojure] Move specs from a single file to a ns per model
So that the order of the forms will be resolved by the compiler,
otherwise we'd have to implement a topological ordering.
* [Clojure] Update petstore sample and set automatic decoding off
* [Clojure] Stop testing Clojure generator on Java7
* [Clojure] Fix tests and handling of multiple arity
* [Clojure] Fix tests and add testing for the new decoding feature
* [Clojure] Capitalize names of generated models
* [Clojure] Rename petstore specs to be capitalized
* Revert to lowercase spec names, and postfix the data specs
* fix float/double default value
* better code format
* better CI for openapi3 batch files (C# client)
* update nancyfx samples
* pipe output to /dev/null to reduce log size
* fix windows batch file
* add C# API client generated by OAS3 spec
* Unit-Test for JavaJAXRSSpecServerCodegen.
* Path generation for primary resource fixed.
* Unit test for toApiName.
* Review-Feedback: blank line removed.
* create sample with "jaxrs-jersey" language & openapi v3
* circle ci setting
* fix typo. also add "jaxrs-jersey" to all samples profile
* artifactId conflicts. rename.
* generate samples with "./bin/openapi3/jaxrs-jersey-petstore.sh"
The gradle plugin sets all System properties before generation, then
reverts them back to their original state.
System.getProperty/setProperty return null if the property was not
previously set. The Kotlin map was defined with non-nullable key/value
constraints, so setting something not commonly set (modelDocs: "false")
would result in an runtime exception.
This changes the map to support nullable values, and rather than setting
a null System property at the end, it clears those which previously had
no value.
* #582 Fixed the generation of model properties whose data type is a composed (allOf) schema. Before this fix, the data type name of the generated property was that of the first model participating in the allOf clause. After this fix the property data type is again as expected: the one of the composed schema and not one of its parents.
* Added unit test in order to have regression testing in the fix for the #582 issue (references to composed schemas should not get unaliased for them to get a proper data type name in the generation of model properties).
* Run ./bin/utils/ensure-up-to-date to re-generate samples run in the CI.
* Removed tabs from ModelUtilsTest.java
* sample server projects "jaxrs-spec", "jaxrs-spec-interface", and "jaxrs-spec-interface-response" should be tested
* update jax-rs api to 2.1, in which @PATCH annotation is available
add jackson annotation dependency
* add joda-time to dependency
* modify mustache template to add @JsonCreate, @JsonValue import
* fix return type of enum value() method
* add InputStream import
* Attachment class is in apache cxf. spec should not depend on it
* re-generate sample jaxrs-spec, jaxrs-spec-interface, and jaxrs-spec-interface-response
* Add elm template parameter to the samples testing script
* Update elm-date-extra package; fixes#458
* Update generated elm samples
* Use Elm doc comments; remove some unneccessary newlines
* Update generated Elm samples
* Remove unnecessary parenthesis around non-optional container type
* prevent throwing another exception if the request fails eg connection reset
* prevent throwing another exception if the request fails eg connection reset
* [Slim] Add Basic Authentication Middleware
User needs to add own implementation to verifyCredentials method in AuthBasic.php.
* [Slim] Update README template
I'm not sure about `middlewareSrcPath` variable. I'll fix it in following PRs
if path is broken.
Hope that notice in README catches attention and most of users will read it.
* Revert "[Slim] Update README template"
This reverts commit 204ee02fd8.
* Revert "[Slim] Add Basic Authentication Middleware"
This reverts commit 6a8e03079a.
* [Slim] Add "tuupola/slim-basic-auth" package
Package "tuupola/slim-basic-auth" 3.1.0 requires PHP 7, that's why I
set it's version to ^3.0.0 in Composer. Minimum version will be
3.0.0-rc.1 which supports PHP 5.5. I've tested build with PHP 7, it
would be nice to check build with PHP 5.5 someday.
* [Slim] Update README template
Not sure about forward slash in path to SlimRouter class. I will fix it
in upcoming PRs if necessary.
* [Slim] Refresh samples
* Fixing maven examples: set version to last released version and other improvements
* Include example poms in the "release_version_update_docs.sh" script
* Remove warnings and add custom request sending
* Remove duplicate code from subclass and add missing setupRoutes
* Removed redundant override
* Add serialization of responses
* Fix CI failure
* Add inline function to duplicate code.
* Make const reference wherever possible
* Add support for Array of Primitive types.
* Add Array of Primitive support for Error response
* Update for multiple path params
* Ignore additionalProperties
rust-server doen't yet support them, and they cause quite a bit of havoc at the moment (ending up as the `HashMap` type).
* Use .equals() rather than `==`
* Add support for multiple rust-server samples
Though we only have the one as yet. This will make it easier to move rust-server back on to the main test spec, whilst preserving the ability to have rust-specific test specs.
* Rust samples need unique names
* Move samples to a dedicated directory
So that there is nothing else in the folder where they live so that the workspace definition in the root Cargo.toml can be simple.
* improve validation error message
* minor improvement to qt5 c++ server
* fix invalid spec (causing shippable failure)
* Revert "minor improvement to qt5 c++ server"
This reverts commit 56f356cc51.
This commit includes the following changes:
- Fix docs not generating parameter descriptions, add rust sample.
- Add example to doc output.
- Add basic scope reporting.
- Stringify the JSON "Example" objects for response schemas.
- Prettify JSON examples in response schemas.
- Parse and present multiline response descriptions.
- Add API error details to docsgen.
- Add read only markers to read only properties.
- Fix up style document indentation.
- Add support for `x-shared-errors`, an extension to define common error types that can be shared across a microservice framework.
* Initial wiring to get the QHttpEngine Server running for Qt5 server
* Add wiring for build environment
* Add current generated files
* Update README.md
* Solved Build for Docker and Host
Wired up main
TODO : Route API call to handlers
* Wire up routes
* Wiring up routes update
* Convert Path to QHttpEngine format
* Rename some files
* Extract query Parameters and path parameters
* Removed pri file, Qt can read CMakeLists.txt
* Initial support of deserialization
* Adding initial support for response serialization
* Setup simple signal handler to quite the server with Ctrl+C in a container and on the host
* Remove unneeded function
* Add executable permission to script and move from Debian to Alpine for Dockerfile
* Add stringValue of missing types
* Unify toJson'xxx' APIs the same way like setValue
* Rework to remove all pointer usages, pass by const references, simplify model, add emit signals to default handlers
* Validate spec on generation by default
Adds a validation parameter to CodegenConfigurator, and passes through
options from CLI, Maven Plugin and Gradle Plugin to that property.
Default is to validate the spec during generation. If spec has errors,
we will output errors as well as warnings to the user.
Option can be disabled by passing false to validateSpec (Maven/Gradle)
or --validate-spec (CLI).
* Prepare version 3.1.1-SNAPSHOT
* fix version
* Use last prod version for the sample
* Update README.md
Fix
* [cli] Option parser does not support true/false for boolean options
* Adds a simple bash completion script
This works with any loading script named openapi-generator-cli.
That is, if you've installed via homebrew or created a script similar
to https://gist.github.com/jimschubert/ce241b0c78140e364f46914ef8ec4103
This script is relatively simple, relying on fallback to the recently
add "completion" command to the CLI project.
The script includes a possible extension to allow for per-language
options to autocomplete when the user is applying additional properties.
This work is currently commented out, as it may be simplified a bit in
the CLI first.
* Add launcher script and "install" instructions
* Port GMock feature from NativeInstruments
swagger-codegen fork:
https://github.com/NativeInstruments/swagger-codegen/pull/9
* Update petstore for Mockable APIs
* Fix shared_ptr in templates for File params
* Add guards in templates for GMock APIs
* Regenerate samples without GMocks
* Add useful constructors for GMock APIs
* Add constructors to API header interface
* Update samples with explicit monadic constructors
* Add default implementations for destructors
* Add RepreZen API Studio to Companies/Projects
Per discussion with @wing328
* Corrected alphabetical order
Corrected alphabetical order of implementations, in response to review comment from @wing238.
* BugFix: [Dart] Cannot get/set data from json when underscore("_") is included in spec.yaml's property name
Because the property name is always lowerCamelCase
* BugFix: When type is "Date", it is not correctly output
* [Rust] Move request logic into standalone file
This reduces the number of variables which are used in the generated
operations, thus fixing #512.
This also fixed a TODO related to URI parsing errors.
Other than that, it is meant to be functionally identical.
* [Rust] Add support for non-file form params
Up until now, they just weren't there at all
* [Rust] Use more rustic terms in example
* [rust-server] drop 'file' support
In swagger v2, we had 'binary', 'byte', and 'file'. OpenAPI v3 only has
the former two. This commit drops the old 'file' handling. This has the
side-effect of removing a half-complete implementation of form parameter handling.
This removes the ability to send files as streams, so will make life
harder for those wishing to send large files without running out of
memory.
* Remove all remaining uses of `hasFile`
* Add the Possibility to fetch dependencies needed by the generated code
* Fix typo
* Make External Libraries default to false
* Add parameter string to the javadoc comment
#513 Fixed error that causes exception when trying to perform HTTP requests without a body and an empty Object is used as body instead. In these cases an exception is thrown indicating that it is not possible to find a message converter for java.lang.Object and application/json.
* typescript-jquery: fix promise resolution
The type annotation that is generated for an API states that the
JQueryPromise<...> will be resolved with a single value.
The implementation, on the other hand resolves with two.
This changes the implementation to resolve the promise in accordance
with the type annotation.
It also adds another type specifying what will be passed if the promise
is rejected.
* Update petstore sample for typescript-jquery
* Generate RequestParser trait to allow retrieving operation ID in middlewares
* Update function name
* Fix incomplete comment
* Add comment poitning out auotgenerated duplication
* Final generation of sample scripts
* MMORCH-913 - Allow passing wrapped hyper clients to codegen
* Deprecate old API for back-compatibility rather than removing it
* Actually test Rust-server example integrations
* Added a .gitignore to ignore the build folder
* Added a CMakeLists and a basic implementation of a double linked list
* Added the pet model
* changed the behaviour when a list gets freed - the data of each element doesn't get freed anymore
* Added the tool uncrustify in order to make code look better
* Uncrustified code
* added an implementation(constructor and deconstructor) for the category model
* Added a third party JSON library
* The pet struct now uses pointers for its members; the pet struct now has a proper constructor and a basic toJSON method
* The pet model now gets fully serialized into JSON
* Fixed the example url...
* Added third party library libcurl
* Modified category struct and added an unit test
* Added a foreach macro and added two functions
* Added a tag model and an unit test
* the pet struct now uses no double pointer for it's name anymore and no pointer for the enum status anymore; the pet struct can now be fully converted to json and parsed from json
* Added the struct APIClient and an unit test
* Uncrustified the unit test for category
* Added ifdef in pet.h to prevent errors
* Added one API endpoint to get a pet by id
* Added a "== 0" comparison that I forgot
* Added some kind of debug functionality to test-petApi.c
* Removed the DEBUG define
* Moved the c petstore example from samples/client/c to samples/client/petstore/c
* Renamed function getPetById to petApi_getPetById to avoid name collisions
* Removed unecessary method in list.c
* Added POST functionality; added petApi_addPet method and improved unit-test for petApi; cleaned up some code in apiClient
* removed two methods in list.c(string/tag to JSON) and moved their code directly in the pet_convertToJSON method
* Removed old, already commented out, puts artifact in apiClient.c
* Added a convertToJSON method to the category model
* Added a convertToJSON method to the tag model
* changed how the convertToJSON method works in the pet model
* Adjusted the unit-tests on how the convertToJSON method now works(now returns a cJSON* instead of a char*)
* apiClient_t now needs to be given to API methods as a parameter. This means apiClient_t can now be reused in multiple methods.
* Added an untested concept for how authentication could be handled
* Tested basicAuth using wireshark and added untested OAuth2 feature
* Added support for api key authentication using the http-header and tested functionality using wireshark
* Renamed the dataToPost parameter in apiClient_invoke to bodyParameters
* Renamed apiKey_t to keyValuePair_t and implemented GET queries
* Spaces are now being replaced with + in querryParameters
* Renamed assembleHeader to assembleAPIKeyAuthentication and added support to change the request type
* Implemented the option to provide custom httpHeader fields to apiClient_invoke
* Added support for form parameters to the apiClient_invoke method
* update petstore sample
* update go generated code comment
* update samples for go petstore
* update code generation comment
* update samples for go petstore
* Trigger CI due to previous Shippable race condition
* add -DwithGoCodegenComment=true option
* reset samples
* add withGoCodegenComment=true to bin/go-petstore-withxml.sh
* update samples/.../go-petstore-withXml using -DwithGoCodegenComment=true
* Python client pure library package
* check onlyPackage CLI option
* run /bin/python-petstore.sh, update the python samples for CI
* onlyPackage local variable instead of classp property
* fix CI: __future__ absolute_import must be first in file
* update samples
* generateSourceCodeOnly
* updated samples
* support form-data file MIME `name` parameter
* update test spec and Go client for form-data file name
* update samples for ensure-up-to-date
* update mustache template
* update samples for Go client
* improve assignment location
* update samples
* show ivy2 cache
* fix typo
* list dir before saving cache
* list dir before saving cache
* cache .git
* replace tab with space
* remove ls
* restore tests
* [Slim] Decouple Api files into separated PHP Classes
This enhancement required for modular testing and code coverage generating.
* [Slim] Define all app routes in SlimRouter PHP Class. Generate new samples
* delete Go client sample output dir before rebuild
* purge go-petstore-withXml samples output dir before build
* update samples
* fix go-petstore-withxml.sh echo path
* fix schema/definition name as 'file'
* update samples
* Trigger CI due to previous Shippable race condition
* add fix with toModelName(openAPIType)
* update tests for file schema/definition name
* Update 3.0 test spec
* update samples
* update samples for jaxrs-cxf
* Trigger CI due to previous Shippable race condition
* add back explode
- [ ] Have you provided a full/minimal spec to reproduce the issue?
- [ ] Have you validated the input using an OpenAPI validator ([example](https://apidevtools.org/swagger-parser/online/))?
- [ ] What's the version of OpenAPI Generator used?
- [ ] Have you search for related issues/PRs?
- [ ] What's the actual output vs expected output?
- [ ] [Optional] Bounty to sponsor the fix ([example](https://www.bountysource.com/issues/66123212-javascript-client-produces-a-wrong-object-for-a-string-enum-type-that-is-used-with-ref))
<!--
Please follow the issue template below for bug reports.
Also please indicate in the issue title which language/library is concerned. Eg: [BUG][JAVA] Bug generating foo with bar
-->
##### Description
<!-- describe what is the question, suggestion or issue and why this is a problem for you. -->
##### openapi-generator version
<!-- which version of openapi-generator are you using, is it a regression? -->
##### OpenAPI declaration file content or url
<!-- if it is a bug, a json or yaml that produces it.
If you post the code inline, please wrap it with
```yaml
(here your code)
```
(for YAML code) or
```json
(hereyourcode)
```
(for JSON code), so it becomes more readable. If it is longer than about ten lines,
please create a Gist (https://gist.github.com) or upload it somewhere else and
link it here.
-->
##### Command line used for generation
<!-- including the language, libraries and various options -->
##### Steps to reproduce
<!-- unambiguous set of steps to reproduce the bug.-->
##### Related issues/PRs
<!-- has a similar issue/PR been reported/opened before? Please do a search in https://github.com/openapitools/openapi-generator/issues?utf8=%E2%9C%93&q=is%3Aissue%20 -->
##### Suggest a fix
<!-- if you can't fix the bug yourself, perhaps you can point to what might be
causing the problem (line of code or commit), or simply make a suggestion -->
- [ ] Read the [contribution guidelines](https://github.com/openapitools/openapi-generator/blob/master/CONTRIBUTING.md).
- [ ] Ran the shell script under `./bin/` to update Petstore sample so that CIs can verify the change. (For instance, only need to run `./bin/{LANG}-petstore.sh` and`./bin/security/{LANG}-petstore.sh` if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in `.\bin\windows\`.
- [ ] Filed the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master`, `3.1.x`, `4.0.x`. Default: `master`.
- [ ] Ran the shell script under `./bin/` to update Petstore sample so that CIs can verify the change. (For instance, only need to run `./bin/{LANG}-petstore.sh`,`./bin/openapi3/{LANG}-petstore.sh` if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in `.\bin\windows\`.
- [ ] Filed the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master`~~, `3.4.x`, `4.0.x`~~. Default: `master`.
- [ ] Copied the [technical committee](https://github.com/openapitools/openapi-generator/#62---openapi-generator-technical-committee) to review the pull request if your PR is targeting a particular programming language.
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
*
* OpenAPI spec version: 1.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
*
* OpenAPI spec version: 1.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
*
* OpenAPI spec version: 1.0.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- Search the [open issue](https://github.com/openapitools/openapi-generator/issues) to ensure no one else has reported something similar and no one is actively working on similar proposed change.
- If no one has suggested something similar, open an ["issue"](https://github.com/openapitools/openapi-generator/issues) with your suggestion to gather feedback from the community.
- If you're adding a new option to a generator, please consider using the `-t` option with customized templates instead or start a discussion first by opening an issue as we want to avoid adding too many options to the generator.
- It's recommended to **create a new git branch** for the change so that the merge commit message looks nicer in the commit history.
## How to contribute
@@ -82,10 +83,11 @@ For [Vendor Extensions](https://github.com/OAI/OpenAPI-Specification/blob/master
To add test cases (optional) covering the change in the code generator, please refer to [modules/openapi-generator/src/test/java/org/openapitools/codegen](https://github.com/openapitools/openapi-generator/tree/master/modules/openapi-generator/src/test/java/org/openapitools/codegen)
To test the templates, please perform the following:
- Update the Petstore sample by running the shell script under `bin` folder. For example, run `./bin/ruby-petstore.sh` to update the Ruby PetStore API client under [`samples/client/petstore/ruby`](https://github.com/openapitools/openapi-generator/tree/master/samples/client/petstore/ruby) For Windows, the batch files can be found under `bin\windows` folder. (If you find that there are new files generated or unexpected changes as a result of the update, that's not unusual as the test cases are added to the OpenAPI spec from time to time. If you've questions or concerns, please open a ticket to start a discussion)
- Run the tests in the sample folder, e.g. in `samples/client/petstore/ruby`, run `mvn integration-test -rf :RubyPetstoreClientTests`. (some languages may not contain unit testing for Petstore and we're looking for contribution from the community to implement those tests)
- Update the Petstore sample by running the shell scripts under `bin` and `bin/openapi3` folder. For example, run `./bin/python-client-petstore.sh` and `./bin/openapi3/python-client-petstore.sh` to update the Python PetStore API client under [`samples/client/petstore/python`](https://github.com/openapitools/openapi-generator/tree/master/samples/client/petstore/python) and [`samples/openapi3/client/petstore/python`](https://github.com/openapitools/openapi-generator/tree/master/samples/openapi3/client/petstore/python). For Windows, the batch files can be found under `bin\windows` folder. (If you find that there are new files generated or unexpected changes as a result of the update, that's not unusual as the test cases are added to the OpenAPI spec from time to time. If you've questions or concerns, please open a ticket to start a discussion)
- Run the tests in the sample folder using maven `mvn integration-test -rf :<artifactId>`, e.g. open a shell in `samples/client/petstore/python`, run `mvn integration-test -rf :PythonPetstoreClientTests`. The artifactId of the project can be found in the pom.xml file. (some languages may not contain unit testing for Petstore and we're looking for contribution from the community to implement those tests)
- For new test cases, please add to the [Fake Petstore spec](https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml)
To start the CI tests, you can run `mvn verify -Psamples` (assuming you've all the required tools installed to run tests for different languages) or you can leverage http://travis-ci.org to run the CI tests by adding your own openapi-generator repository.
[](https://gitter.im/OpenAPITools/openapi-generator?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.openapitools%22%20AND%20a%3A%22openapi-generator%22)
[](https://twitter.com/oas_generator)
</div>
@@ -27,24 +25,33 @@
:notebook_with_decorative_cover: For more information, please refer to the [Wiki page](https://github.com/openapitools/openapi-generator/wiki) and [FAQ](https://github.com/openapitools/openapi-generator/wiki/FAQ) :notebook_with_decorative_cover:
:notebook_with_decorative_cover: The eBook [A Beginner's Guide to Code Generation for REST APIs](https://gumroad.com/l/swagger_codegen_beginner) is a good starting point for beginners :notebook_with_decorative_cover:
:notebook_with_decorative_cover: The eBook [A Beginner's Guide to Code Generation for REST APIs](https://gum.co/openapi_generator_ebook) is a good starting point for beginners :notebook_with_decorative_cover:
:warning: If the OpenAPI spec is obtained from an untrusted source, please make sure you've reviewed the spec before using OpenAPI Generator to generate the API client, server stub or documentation as [code injection](https://en.wikipedia.org/wiki/Code_injection) may occur :warning:
:warning: If the OpenAPI spec, templates or any input (e.g. options, environment variables) is obtained from an untrusted source or environment, please make sure you've reviewed these inputs before using OpenAPI Generator to generate the API client, server stub or documentation to avoid potential security issues (e.g. [code injection](https://en.wikipedia.org/wiki/Code_injection)) :warning:
:bangbang: Both "OpenAPI Tools" (https://OpenAPITools.org - the parent organization of OpenAPI Generator) and "OpenAPI Generator" are not affiliated with OpenAPI Initiative (OAI) :bangbang:
</div>
## Sponsors
If you find OpenAPI Generator useful for work, please consider asking your company to support this Open Source project by [becoming a sponsor](https://opencollective.com/openapi_generator). You can also individually sponsor the project by [becoming a backer](https://opencollective.com/openapi_generator).
OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an [OpenAPI Spec](https://github.com/OAI/OpenAPI-Specification) (both 2.0 and 3.0 are supported). Currently, the following languages/frameworks are supported:
@@ -58,6 +65,7 @@ OpenAPI Generator allows generation of API client libraries (SDK generation), se
- [1.4 - Build Projects](#14---build-projects)
- [1.5 - Homebrew](#15---homebrew)
- [1.6 - Docker](#16---docker)
- [1.7 - NPM](#17---npm)
- [2 - Getting Started](#2---getting-started)
- [3 - Usage](#3---usage)
- [3.1 - Customization](#31---customization)
@@ -78,18 +86,18 @@ OpenAPI Generator allows generation of API client libraries (SDK generation), se
The OpenAPI Specification has undergone 3 revisions since initial creation in 2010. The openapi-generator project has the following compatibilities with the OpenAPI Specification:
OpenAPI Generator Version | Release Date | OpenAPI Spec compatibility | Notes
4.0.0 (upcoming major release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/4.0.0-SNAPSHOT/)| TBD | 1.0, 1.1, 1.2, 2.0, 3.0 | Major release with breaking changes (no fallback)
3.1.0 (current master, upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/3.1.0-SNAPSHOT/)| TBD | 1.0, 1.1, 1.2, 2.0, 3.0 | Minor release with breaking changes (with fallbacks)
4.0.0 (upcoming release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/4.0.0-SNAPSHOT/)| 20.12.2018 | Major release with breaking changes (with or without fallback)
You can find our released artefacts on maven central:
For old releases, please refer to the [**Release**](https://github.com/OpenAPITools/openapi-generator/releases) page.
## [1.2 - Artifacts on Maven Central](#table-of-contents)
You can find our released artifacts on maven central:
**Core:**
```xml
@@ -120,7 +128,7 @@ See the different versions of the [openapi-generator-cli](https://mvnrepository.
</dependency>
```
* See the different versions of the [openapi-generator-maven-plugin](https://mvnrepository.com/artifact/org.openapitools/openapi-generator-maven-plugin) artifact available on maven central.
For **Windows** users, you will need to install [wget](http://gnuwin32.sourceforge.net/packages/wget.htm) or you can use Invoke-WebRequest in PowerShell (3.0+), e.g.
One downside to manual jar downloads is that you don't keep up-to-date with the latest released version. We have a Bash launcher script at [bin/utils/openapi-generator.cli.sh](./bin/utils/openapi-generator-cli.sh) which resolves this issue.
To install the launcher script, copy the contents of the script to a location on your path and make the script executable.
An example of setting this up (NOTE: Always evaluate scripts curled from external systems before executing them).
Now, `openapi-generator-cli` is "installed". On invocation, it will query the GitHub repository for the most recently released version. If this matches the last downloaded jar,
it will execute as normal. If a newer version is found, the script will download the latest release and execute it.
If you need to invoke an older version of the generator, you can define the variable `OPENAPI_GENERATOR_VERSION` either ad hoc or globally. You can export this variable if you'd like to persist a specific release version.
Examples:
```
# Execute latest released openapi-generator-cli
openapi-generator-cli version
# Execute version 3.1.0 for the current invocation, regardless of the latest released version
OPENAPI_GENERATOR_VERSION=3.1.0 openapi-generator-cli version
# Execute version 3.1.0-SNAPSHOT for the current invocation
OPENAPI_GENERATOR_VERSION=3.1.0-SNAPSHOT openapi-generator-cli version
# Execute version 3.0.2 for every invocation in the current shell session
export OPENAPI_GENERATOR_VERSION=3.0.2
openapi-generator-cli version # is 3.0.2
openapi-generator-cli version # is also 3.0.2
# To "install" a specific version, set the variable in .bashrc/.bash_profile
- [https://hub.docker.com/r/openapitools/openapi-generator-online/](https://hub.docker.com/r/openapitools/openapi-generator-online/) (official web service)
#### Docker tags
`lastest` Tag contains the continuously built version from our `master` branch.
`v0.0.0` Tags correspond to a released version in this git repository. Examples:
*`v3.0.0` Tag
*`v3.0.1` Tag
*`v3.0.2` Tag
`0.0.x` Tags correspond to continuously built versions (after each commit), regardless of the branch it is built from. Examples:
*`3.0.x` Tag: contains first `3.0.2-SNAPSHOT` and after the `3.0.2` release it contains `3.0.3-SNAPSHOT` and so on.
*`3.1.x` Tag: contains first `3.1.0-SNAPSHOT` and after the `3.1.0` release it contains `3.1.1-SNAPSHOT` and so on.
*`4.0.x` Tag: contains first `4.0.0-SNAPSHOT` and after the `4.0.0` release it contains `4.0.1-SNAPSHOT` and so on.
@@ -285,6 +320,20 @@ Once built, `run-in-docker.sh` will act as an executable for openapi-generator-c
-g go -o /gen/out/go-petstore -DpackageName=petstore # generates go client, outputs locally to ./out/go-petstore
```
##### Troubleshooting
If an error like this occurs, just execute the **mvn clean install -U** command:
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project openapi-generator: A type incompatibility occurred while executing org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test: java.lang.ExceptionInInitializerError cannot be cast to java.io.IOException
```sh
./run-in-docker.sh mvn clean install -U
```
> Failed to execute goal org.fortasoft:gradle-maven-plugin:1.0.8:invoke (default) on project openapi-generator-gradle-plugin-mvn-wrapper: org.gradle.tooling.BuildException: Could not execute build using Gradle distribution 'https://services.gradle.org/distributions/gradle-4.7-bin.zip'
Right now: no solution for this one :|
#### Run Docker in Vagrant
Prerequisite: install [Vagrant](https://www.vagrantup.com/downloads.html) and [VirtualBox](https://www.virtualbox.org/wiki/Downloads).
```sh
@@ -296,6 +345,30 @@ cd /vagrant
./run-in-docker.sh mvn package
```
### [1.7 - NPM](#table-of-contents)
There is also an [NPM package wrapper](https://www.npmjs.com/package/@openapitools/openapi-generator-cli) available for different platforms (e.g. Linux, Mac, Windows). (JVM is still required)
Please see the [project's README](https://github.com/openapitools/openapi-generator-cli) there for more information.
Install it globally to get the CLI available on the command line:
To generate a PHP client for [petstore.yaml](https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml), please run the following
(if you're on Windows, replace the last command with `java -jar modules\openapi-generator-cli\target\openapi-generator-cli.jar generate -i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml -g php -o c:\temp\php_api_client`)
You can also download the JAR (latest release) directly from [maven.org](http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/3.0.0/openapi-generator-cli-3.0.0.jar)
You can also download the JAR (latest release) directly from [maven.org](http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/3.3.4/openapi-generator-cli-3.3.4.jar)
To get a list of **general** options available, please run `java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar help generate`
@@ -322,21 +395,23 @@ To get a list of PHP specified options (which can be passed to the generator wit
You can build a client against the [Petstore API](https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml) as follows:
```sh
./bin/java-petstore.sh
./bin/java-petstore-okhttp-gson.sh
```
(On Windows, run `.\bin\windows\java-petstore.bat` instead)
(On Windows, run `.\bin\windows\java-petstore-okhttp-gson.bat` instead)
This will run the generator with this command:
This script uses the default library, which is `okhttp-gson`. It will run the generator with this command:
Please refer to [online-openapi-generator.md](docs/online-openapi-generator.md) on how to run and use the `openapi-generator-online` - a web service for `openapi-generator`.
- latest master: http://api-latest-master.openapi-generator.tech (updated with latest master every hour)
The server is sponsored by [Linode](https://www.linode.com/) [](https://www.linode.com/)
(These services are beta and do not have any guarantee on service level)
Please refer to [online.md](docs/online.md) on how to run and use the `openapi-generator-online` - a web service for `openapi-generator`.
### [3.4 - License information on Generated Code](#table-of-contents)
@@ -421,24 +512,67 @@ When code is generated from this project, it shall be considered **AS IS** and o
## [4 - Companies/Projects using OpenAPI Generator](#table-of-contents)
Here are some companies/projects (alphabetical order) using OpenAPI Generator in production. To add your company/project to the list, please visit [README.md](README.md) and click on the icon to edit the page.
- 2018/04/12 - [Generate Angular API clients with Swagger](https://angular.schule/blog/2018-04-swagger-codegen) by [JohannesHoppe](https://github.com/JohannesHoppe)
- 2018/05/12 - [OpenAPI Generator - community drivenで成長するコードジェネレータ](https://ackintosh.github.io/blog/2018/05/12/openapi-generator/) by [中野暁人](https://github.com/ackintosh)
- 2018/05/15 - [Starting a new open-source project](http://jmini.github.io/blog/2018/2018-05-15_new-open-source-project.html) by [Jeremie Bresson](https://github.com/jmini)
- 2018/05/15 - [REST API仕様からAPIクライアントやスタブサーバを自動生成する「OpenAPI Generator」オープンソースで公開。Swagger Codegenからのフォーク](https://www.publickey1.jp/blog/18/rest_apiapiopenapi_generatorswagger_generator.html) by [Publickey](https://www.publickey1.jp)
- 2018/06/08 - [Swagger Codegen is now OpenAPI Generator](https://angular.schule/blog/2018-06-swagger-codegen-is-now-openapi-generator) by [JohannesHoppe](https://github.com/JohannesHoppe)
- 2018/06/21 - [Connect your JHipster apps to the world of APIs with OpenAPI and gRPC](https://fr.slideshare.net/chbornet/jhipster-conf-2018-connect-your-jhipster-apps-to-the-world-of-apis-with-openapi-and-grpc) by [Christophe Bornet](https://github.com/cbornet) at [JHipster Conf 2018](https://jhipster-conf.github.io/)
- 2018/06/27 - [Lessons Learned from Leading an Open-Source Project Supporting 30+ Programming Languages](https://speakerdeck.com/wing328/lessons-learned-from-leading-an-open-source-project-supporting-30-plus-programming-languages) - [William Cheng](https://github.com/wing328) at [LinuxCon + ContainerCon + CloudOpen China 2018](https://www.lfasiallc.com/events/lc3-2018/)
- 2018/06/27 - [Lessons Learned from Leading an Open-Source Project Supporting 30+ Programming Languages](https://speakerdeck.com/wing328/lessons-learned-from-leading-an-open-source-project-supporting-30-plus-programming-languages) - [William Cheng](https://github.com/wing328) at [LinuxCon + ContainerCon + CloudOpen China 2018](http://bit.ly/2waDKKX)
- 2018/07/19 - [OpenAPI Generator Contribution Quickstart - RingCentral Go SDK](https://medium.com/ringcentral-developers/openapi-generator-for-go-contribution-quickstart-8cc72bf37b53) by [John Wang](https://github.com/grokify)
- 2018/08/22 - [OpenAPI Generatorのプロジェクト構成などのメモ](https://yinm.info/20180822/) by [Yusuke Iinuma](https://github.com/yinm)
- 2018/09/12 - [RepreZen and OpenAPI 3.0: Now is the Time](https://www.reprezen.com/blog/reprezen-openapi-3.0-upgrade-now-is-the-time) by [Miles Daffin](https://www.reprezen.com/blog/author/miles-daffin)
- 2018/10/31 - [A node package wrapper for openapi-generator](https://github.com/HarmoWatch/openapi-generator-cli)
- 2018/11/15 - [基于openapi3.0的yaml文件生成java代码的一次实践](https://blog.csdn.net/yzy199391/article/details/84023982) by [焱魔王](https://me.csdn.net/yzy199391)
- 2018/11/19 - [OpenAPIs are everywhere](https://youtu.be/-lDot4Yn7Dg) by [Jeremie Bresson (Unblu)](https://github.com/jmini) at [EclipseCon Europe 2018](https://www.eclipsecon.org/europe2018)
- 2018/12/09 - [openapi-generator をカスタマイズする方法](https://qiita.com/watiko/items/0961287c02eac9211572) by [@watiko](https://qiita.com/watiko)
- 2019/01/03 - [Calling a Swagger service from Apex using openapi-generator](https://lekkimworld.com/2019/01/03/calling-a-swagger-service-from-apex-using-openapi-generator/) by [Mikkel Flindt Heisterberg](https://lekkimworld.com)
- 2019/01/13 - [OpenAPI GeneratorでRESTful APIの定義書から色々自動生成する](https://ky-yk-d.hatenablog.com/entry/2019/01/13/234108) by [@ky_yk_d](https://twitter.com/ky_yk_d)
- 2019/01/30 - [Rapid Application Development With API First Approach Using Open-API Generator](https://dzone.com/articles/rapid-api-development-using-open-api-generator) by [Milan Sonkar](https://dzone.com/users/828329/milan_sonkar.html)
- 2019/02/02 - [平静を保ち、コードを生成せよ 〜 OpenAPI Generator誕生の背景と軌跡 〜](https://speakerdeck.com/akihito_nakano/gunmaweb34) by [中野暁人](https://github.com/ackintosh) at [Gunma.web #34 スキーマ駆動開発](https://gunmaweb.connpass.com/event/113974/)
- 2019/02/20 - [An adventure in OpenAPI V3 code generation](https://mux.com/blog/an-adventure-in-openapi-v3-api-code-generation/) by [Phil Cluff](https://mux.com/blog/author/philc/)
- 2019/02/26 - [Building API Services: A Beginner’s Guide](https://medium.com/google-cloud/building-api-services-a-beginners-guide-7274ae4c547f) by [Ratros Y.](https://medium.com/@ratrosy) in [Google Cloud Platofrm Blog](https://medium.com/google-cloud)
- 2019/02/26 - [Building APIs with OpenAPI: Continued](https://medium.com/@ratrosy/building-apis-with-openapi-continued-5d0faaed32eb) by [Ratros Y.](https://medium.com/@ratrosy) in [Google Cloud Platofrm Blog](https://medium.com/google-cloud)
- 2019-03-07 - [OpenAPI Generator で Spring Boot と Angular をタイプセーフに繋ぐ](https://qiita.com/chibato/items/e4a748db12409b40c02f) by [Tomofumi Chiba](https://github.com/chibat)
- 2019-03-25 - [Access any REST service with the SAP S/4HANA Cloud SDK](https://blogs.sap.com/2019/03/25/integrate-sap-s4hana-cloud-sdk-with-open-api/) by [Alexander Duemont](https://people.sap.com/alexander.duemont)
- 2019-03-25 - [OpenAPI generatorを試してみる](https://qiita.com/amuyikam/items/e8a45daae59c68be0fc8) by [@amuyikam](https://twitter.com/amuyikam)
- 2019-03-27 - [OpenAPI3を使ってみよう!Go言語でクライアントとスタブの自動生成まで!](https://techblog.zozo.com/entry/openapi3/go) by [@gold_kou](https://twitter.com/gold_kou)
- 2019-04-18 - [How to use OpenAPI3 for API developer (RubyKaigi 2019)](https://speakerdeck.com/ota42y/how-to-use-openapi3-for-api-developer) by [@ota42y](https://twitter.com/ota42y) at [RubyKaigi 2019](https://rubykaigi.org/2019)
- 2019-04-29 - [A Beginner's Guide to Code Generation for REST APIs (OpenAPI Generator)](https://gum.co/openapi_generator_ebook) by [William Cheng](https://twitter.com/wing328)
- 2019-05-01 - [Design and generate a REST API from Swagger / OpenAPI in Java, Python, C# and more](https://simply-how.com/design-and-generate-api-code-from-openapi) by [Simply How](https://simply-how.com/)
## [6 - About Us](#table-of-contents)
@@ -447,34 +581,40 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
OpenAPI Generator core team members are contributors who have been making significant contributions (review issues, fix bugs, make enhancements, etc) to the project on a regular basis.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.