* [dart] Cleanup and regnerate old/wrong tests and docs
* docs path seems to be doc now in all dart generators
* generated tests are very old and use wrong classes
* [dart-dio] Improve formatting
* [dart][dart-dio] Restructure tests to same layout
* remove duplicate/old openapi sample for which there is no generation config
* generate to `petstore_client_lib` for both generators
* run generated tests as integration tests for dart2 even if empty - this makes it easier to find compile errors
* [dart] Improve gitignore handling for Dart generators
* globally ignore all dart related files that should not be commited
* remove old ignores that are no longer valid
* [dart][dart-dio] Add OAS3 generation and integration tests
Dart2 doesn't compile, needs fixes.
* [dart] Do not attempt to deserialize binary content from JSON fields
Not sure if that case is ever relevant but for now there doesn't seem to be a better option.
* [dart] Fix integration tests for OAS3 petstore
Some POST operations now return 200 with content.
* [dart] Generate Petstore Fake API but don't add to integration tests yet
Explicitly not adding the new integration tests to the master POM. They do not work but having them allows for quickly iterating on open issues without breaking existing basic OAS2/OAS3 petstore examples. Instead they should be run manually until everything is fixed.
* [typescript-axios] Sets 'isCollectionFormatMulti' to true on file uploads.
Fixes#8104
* Safely checks if dateFormat is "binary" #8105
Co-authored-by: Bruno Matissek <bruno.matissek@gmail.com>
* feat(config): pull the basePath from config if the basePath doesn't exist
* chore: update samples
* chore: use the basePath from the base class
* chore: update all the samples
* Bump Gradle in Java projects from 6.0.1 to 6.7.1
Regular maintenance, 6.0.1 was released November 18th, 2019 and the latest release (November 16th, 2020) is 6.7.1. This updates all the wrapper templatesto the latest version.
* Updated generated Java samples
Generated via `./bin/generate-samples.sh bin/configs/java-*`
* update samples
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Updated Eiffel code generator.
Added missing language reserved words.
Updated mustache templates to use the latest Eiffel rules to avoid obsolte
feature calls and Cat-Calls.
Updated Eiffel configuration files (ecf's)
Updated comments styles.
Updated Travis CI file to use the latest Eiffel compiler.
Updated EIffel sample to use https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml
* Added missing mapping decimal to REAL_64
Added Eiffel Kernel classes to importMapping to avoid generate models for
them.
Fixed issue with Eiffel feature name generation, updated toOperationId(String) method.
Simplified toInstantiationType method implementaetion.
Improved model.mustache to generate Eiffel models.
* Updated Eiffel sample.
* Removed unneeded tabs.
* Added AnyType mapping to ANY
Removed unneeded tab
Updated model name, remane models that starts with _.
* update doc
Co-authored-by: William Cheng <wing328hk@gmail.com>
* [java][spring] updated template to support proper reactive map type
* [java][spring] supporting unit test for spring boot reactive request map issue
* [java][spring] updated samples
* [java][spring] refactoring the issue test spec
* Default body to NULL
* update samples
* Update to set body to NULL only when no hasBodyParam
* Revert any whitespace changes.
* Makes defaulting body conditional on hasFormParams also not being set
Co-authored-by: William Cheng <wing328hk@gmail.com>
Co-authored-by: Robert Pyke <robertpyke@fb.com>
* [dart-dio] Add basic integration test POM
This basically just fetches dependencies, runs the built_value generator and empty test cases. Even running empty test cases is more than is currently possible and at least finds compile errors.
There are compile errors atm which need to be fixed.
* [dart-dio] Fix missing BuiltSet import in models that use enums
* [dart-dio] Fix compile error when the return type is a Map
* the compile error was `serializerForType(Map<String, int>)` in `StoreApi` which needs to be `serializerForType(Map)`
* use final instead of var in response handling
* [dart-dio] Generate docs after changes
* [dart-dio] Add integration test to CI execution list
When generation examples of objects with additional properties, we use
the map syntax inside a model instantiation, which is incorrect. This
fixes it by checking for model at the right place.
* first commit of api Key feature.
* added multi key and URL query key support
* fixed error in mustache files, updated samples and tests
* added Basic Auth with Base64 encoding.
* updated Readme, added bearer token
* added check that authentication credentials are set. fixed typo in README
* fix async in java play generator
* add async operation option
* Remove the return null and replace with a return at the right place.
Co-authored-by: Jean-François Côté <jcote@stingray.com>
* [JAXRS-CXF] Introduce petstore sample for jaxrs-cxf-client with additional property jackson (preparational commit)
generated using: ./bin/generate-samples.sh ./bin/configs/other/jaxrs-cxf-client-jackson.yaml
* [JAXRS-CXF] Generate missing jackson annotations in inner enum
fix for generators jaxrs-cxf and jaxrs-cxf-client
* Add basic types imports to generated examples
This adds an extension to include basic types imports to generated Java
examples.
* Make some fixes to example generation
* Generate OffsetDatetime correctly
* Create a useful sample for enums, regenerate samples
* Fix BigDecimal as well
* Fix list examples in python
When a model has an example in an array, it wrongly wraps it again in a
list instead of returning the list examples. This fixes it.
* Add comment
* Expose JsonSerializerSettings in ApiClient
* Update generated petstore sample
* Add XML comments for SerializerSettings and match new OverrideSpecifiedNames default
* Add GetSerializerSettingsTest
* Allows install typescript client via npm from Git
'prepublishOnly' is run before the package is published. 'prepack' is run before the package is published and after installation local installation eg. via Git.
* Update examples for Typescript
* [ruby] fix oneOf handling
* use previous ruby configs due to issue #4690
* check for oneOf model in base_object
* validate the attributes in partial_oneof_module
* Fixed a couple of problems with current implementation.
1) When encoding non-String header values, the client will forwar to parameterToString() for encoding.
2) fromJson() now accepts a dynamic value since the type transformer accepts a dynamic value.
* Updated Pet Store files.
* Proper spacing between blocks.
* Adjust spacing.
* Make fromJson() as a static function, thus not instantiating a new object if JSON is null.
* Adjust doc for fromJson() function.
* python->python-legacy, python-experimental->python
* test with openjdk8
* test with openjdk11
* comment out rm
* move kotlin tests to circleci
* move kotlin tests
* move tests to circleci
* fix circleci
* rearrange test
* move tests
* use wrapper
Co-authored-by: Justin Black <justin.a.black@gmail.com>
* Add CLI options to remove runtime checks (serialization/deserialization).
* Update templates to support the new parameter
- Generates all the models in a same file to avoid import complexity
- Extract interfaces creator templates to reuse them
* Fix formatting and generate client examples
* Add documentation
If a form-parameter had the same name as another (header-, query-,
path-, or cookie-)parameter, a conflict could be caused (for example
in the typescript generator). This fix executes the same uniqueness-
check and renaming for form- and body-parameters as it is done for
all other parameters.
@see issue #7575
Co-authored-by: Alexander Rashed <alexander.rashed@ntsretail.com>
* Fix a few issues with go examples generation
This fixes a bunch of issues seen when generating go examples, namely
- Numbers aren't casted to the right type
- The time import is missing
- Enums are treated as regular models
* Rebuild more samples
* Use examples properly
* Handle multiple instances in the same doc
* Fix wrong array closure
* Handle model arrays
* Fix file and enum namespace
* Regenerate samples
* Handle maps of complex types
* Handle oneOf
* Fix padding
* Fix enum doc
* Removes links to basic types in arrays
* Remove links to basic types in maps
* Fix enum links
* Minor indent fix
* Handle review comments
* Adds vars to all schema classes, adds partial test
* Adds tests and addVarsRequiredVarsAdditionaProps
* Adds CodegenProperty test
* Adds requiredVars
* Adds vars and requiredVars cloning for CodegenProperty
* Fix a bug when asking to upload a MultipartFile as body.
* Make finalizing MultipartFileRequest simpler.
* Restrict creating a MultipartFileRequest when not part of a multipart-form.
* Simplified the upload to use a StreamedRequest.
* Wrap all requests with try-catch.
* First iteration to support new mechanism that needs to have the handle of the result.
* Most of the samples now build except "async". Also, everything is messed up.. need to understand the mustache way to handle this.
* New version to support play 2.8
* Fix conflict
* Fix error when multiple file in forms
* test protobuf schema
* remove sudo
* use different image
* proto files
* test with go
* test with go
* test with go
* test with go
* break the build
* Revert "break the build"
This reverts commit 81c10e7d96.
* remove comment
* move config
* remove old protobuf-schema.yaml
* Update users.yml
We are happily using this, too!
* add our logo, too
* sort in our company alphabetically
Co-authored-by: Alexander Presber <alexander@giantmonkey.de>
* [python] add socket_options to configuration for the rest client
* (python-experimental) add socket_options to configuration for the rest client
This mirrors work done on the python generator
* (python-experimental) add test to cover socket_options is passed on from configuration
Co-authored-by: steve brazier <steve.brazier@trioptima.com>
* Force isCollectionFormatMulti in case of binary/file
* Manage multipartFormData in isCollectionFormatMulti
* Update petstore
Co-authored-by: Julien Herr <julien@nabu.io>
* test file return
* fix stream response
* use options
* use local var
* fix nil tempfile
* fix tempfile
* fix tempfile
* use stream
* check content
* open temp file
* test ruby file download
* fix stream data
* test faraday
* catch connection error
* catch Faraday::ConnectionFailed
* catch all error
* use sream
* refactor
* fi download file in faraday
* local fix
* fi streaming download
* undo changess to spec, test
* undo changes to spec
* add option to return None instead of raising exception when accessing unset attribute
* update python samples
* reimplement getattr using getitem or get depending on attrNoneIfUnset
* move getattr and setattr to respective templates
* update docstrings, def get/setattr methods to have docstrings in them, use __dict__ to avoid recursion issues
* revert required_properties change
* add manual tests for .get method
* Fix [jaxrs-jersey][java][jersey] multipart/form-data file array issue on generating jaxrs-jersey.
This commit aims to fix https://github.com/OpenAPITools/openapi-generator/issues/7330 with described solution 'choice C'.
* add test code [jaxrs-jersey][java][jersey] for multipart/form-data file on generating
* update test code [jaxrs-jersey][java][jersey] for multipart/form-data file on generating
followed latest master branch of OpenAPITools/openapi-generator
* update samples/* by executing ./bin/generate-samples.sh
* update mustaches for JavaJaxxRS/libraries/jersey1/* and samples/* to resolve failure of CI test on PR.
Complex types need to be serialized as JSON to avoid FormData.append()
from converting them into strings through .toString(). The generated
ToJSON mapper is used in case the value name has underscores or other
unusual characters.
Signed-off-by: Andreas Metsälä <andreas.metsala@gmail.com>
* adding multiple servers support to typescript-rxjs
* regenerated typescript-rxjs samples
Co-authored-by: Schwartz, Benjamin <benjamin.schwartz@cgi.com>
* Implements additionalProperties in CodegenParameter
* Implements additionalProperties in CodegenProperty
* Adds additionalProperties to CodegenModel
* Adds additionalProperties to CodegenResponse
* Adds additionalProperties examples for CodegenModel and CodegenProperty
* Adds test cases for CodegenParameter and CodegenResponse
* Adds testAdditionalPropertiesPresentInModelProperties
* Adds testAdditionalPropertiesPresentInResponses
* Adds underscore name for additionalProperties property, needed for CppTizenClientCodegen
* Changes prop name back to empty string, fixes CppTizenClientCodegen
This adds the Maven integration tests to the Check Supported Java
Versions job which runs on master.
Maven on Windows was previously broken with templateDirectory. This was
fixed previously in a pull request, but the Maven plugin integration
testing did not work in our other CI vendors. This was tested and
verified in a private repo. The difference is likely due to vCPUs
available in GitHub Workflows differing from other free CI we use
elsewhere.
* Move java specific import mappers to java specific code gen
* Use JVM specific import mappers in kotlin, scala, groovy
* Update generators docs
* Add autogenerated files
* Better code for building Retrofit
By removing the nullable `usedClient` passed to Retrofit, the code is compatible with newer Retrofit versions which don't allow null as client.
* Updated Kotlin retrofit2 samples ApiClient
* Updates key java files
* Adds all lingering isArray fixes
* Adds two files
* Reverts two cs files
* Fixes lingering isListContainer + isArrayModel references
* Some ensure up to date updates
replace setConfig and setOpenApi with the
non-deprecated config / openAPI methods
Co-authored-by: Peter Somogyvari <petermetz@users.noreply.github.com>
* [maven] Fallback to templates using classpath rather than OS-specific paths
Previous checks would cause logic in Windows to return early, for
built-in templates only. This reorganizes and simplifies the ordering
behavior.
* Match classpath check in WorkflowSettings with that in TemplateManager
* [maven] Much needed unit/integration tests
This follows similar approach used in PMD and other plugins managed by
maven.
Unit tests simply verify we can load configuration as expected into the
Mojo.
Integration tests execute actual sample projects bound to the current
build's Maven plugin. This uses maven-invoker-plugin, which also allows
for specifying the maven options in invoker.properties to execute the test.
It also provides a verification framework using groovy files with the
required naming convention of "verify.groovy". This allows us to quickly
and easily check that certain files are outputted by generation, and we
may also spotcheck file contents.
templateResourcePath option is skipped on windows. I've tested back to
version 3.3.3 and this doesn't seem to have worked consistently with how
the property works on non-Windows.
* Set groovy 3.0.5 for test harness
* Print stacktrace on Maven error in Travis
* [maven] Set groovy version in tests to supported in Java 11+
* Puts maven integration tests in separate profile called 'integration'
The FILES metadata is supplementary, but was logging a warning while
generating Ada client that FILES couldn't be written. An exception was
being thrown because Path was being reported as two different "types of
Path". One would be reported as mac file, while the other was reported
as a unix file. The fix here is to disconnect path details from the
underlying file system provider by creating a new Path based on the
file's absolute path. This change also fixes sorting so it works
alphabetically in ascending order.
* fixed import mapping for arrays with component of type string
* changed test title
* generated samples
* Revert "generated samples"
This reverts commit b86a6fcdee.
* Fix#7594: [BUG][Ada] Incorrect client Ada code generated
- Fix the identification of path parameters
- Fix the model and client to support FreeFormObject
* update doc
* fix errors, update samples
Co-authored-by: Stephane Carrez <Stephane.Carrez@gmail.com>
* Resolve an exception situation when a remote server returns 204 with no body.
* Only return a value when needed.
* Use HttpStatus codes instead of magic numbers.
* Drop checking for a body as it will consume too much memory.
* Cosmetic changes.
* Updated Dart2 template.
* Generated Petstore client code for Dart2.
* Use double-quotes instead of single-quotes, to be consistent with output of Dart generator.
* Updated Petstore samples.
* Wrap few more places with triple curly parentheses.
* Generated Petstore files.
* Revert to using single quotes, fix Java generator too.
* Generated Petstore files.
* Lower case the content type value.
* Only lower-case content type when checking its value.
* Generated files from running "./bin/utils/ensure-up-to-date".
* Remove outdated comments for Dart1.
* Regenerate Petstore samples for Dart.
* Added a new option "pubLibrary".
* Added support for (de)serializing a DateTime into an epoch value.
* Make client variable a getter/setter, adjust docs.
* Fixed a small error in class template.
* Fix Dart documentation in API classes.
* Simplify test in HTTP Basic auth, remove unused lint rule.
* Adds items getter and setter in IJsonSchemaValidationProperties
* Adds isModel interface
* Reverts file
* Fixes issue_7613.yaml schema for /array_with_validations_in_items/{items} response body
* Adds isModel to CodegenModel hash and print and comparison
* Updates CodegenResponse hash and comparison and print
* add oneOf support to c# netcore
* add oneof support to c# netcore client
* update samples
* remove unused file
* add oneof support to response in api client
* add oneof support to serialize
* update samples
* fix actual instance, add more tests
* fix oneof handling in api client
* update tests
* [Rust Server] Fix server example on non-Linux
The server example is broken because it tries to import `use openssl::ssl::SslAcceptorBuilder;` unconditionally when it won't be present on MacOS, Windows or iOS and then conditionally provides `create` causing compile errors on the aforementioned platforms.
To fix, we simply move the condition from the function to the import and all is happy again :)
* Update Samples
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Remove old dart generated code
* Remove uses of SUPPORT_DART2
* Remove dart1 only flag BROWSER_CLIENT
* Remove supportDart2 and browserClient from docs
* Revert removal of credits of dart(1)
* Update getHelp in dartcodegen
* [Python-experimental] Don't mandate passing in required value as argument
* Remove usage of have_value
* Address additional review comments
* Fix tests according to the code change
* Does not set None as value initial value, removes hasRequired tag usage, updates docstring
Co-authored-by: Justin Black <justin.a.black@gmail.com>
* Update RetryConfiguration.mustache
Use Policy<> instead of RetryPolicy<> to allow for use of wrapped policies.
* update samples
Co-authored-by: William Cheng <wing328hk@gmail.com>
swagger-parser has the potential to return null
for messages which will throw NPE on
initialization of the validationMessages hashset.
rather that allow this to happen we will assume
that a null message collection represents an empty
collection and continue.
Fixes#7453
* fix: correct handling of customHeaders
Problem: custom headers could be overwritten between
request retries following, e.g. a token refresh ( for example,
while implementing @4brunu refresh code :
https://github.com/OpenAPITools/openapi-generator/issues/5462#issuecomment-592417371 ).
A simple reordering of the modifiedRequest headers construction
solves the problem.
* fix: correct PetStore samples implementation [PR#7527]
Co-authored-by: Franz Marini <f.marini@opengate.biz>
* Fixing java:S3599 - Avoid double brace initializer
Because Double Brace Initialization (DBI) creates an anonymous class with a
reference to the instance of the owning object, its use can lead to memory
leaks if the anonymous inner class is returned and held by other objects. Even
when there's no leak, DBI is so obscure that it's bound to confuse most
maintainers.
* Fix incorrect List.contains typed check
* Avoid potential NPE in DefaultCodegen
* [fsharp] Remove unused boolean and log
* Fix potential NPE in Haskell http client
* Fix potential bugs in JavaCXFExtServerCodegen, found by static analysis
* Adds "useTags" option to all jaxrs code generators (AbstractJAXRSServerCodegen):
- jaxrs-jersey
- jaxrs-spec
- jaxrs-cxf-cdi
- jaxrs-resteasy
- jaxrs-cxf
- jaxrs-cxf-extended
- java-msf4j
- jaxrs-resteasy-eap
* jaxrs-spec
- Changed handling of root paths: e.g "/:", "/{id}:" to simplify code and create a more consistent behaviour
-- old: use tag for classname
-- new: use tag only if useTags is enabled, use "DefaultApi" if not
* @path class level annotation
- for all generators above and the microprofile generator (uses same jaxrs postprocessing)
- extended the "commonPath" to contain more than only the root path if possible
- e.g. "/group1/subgroup1/op1" -> "/group1/subgroup1" is moved to class level annotation
* Adds free form model generation in python-experimental
* Adds hasValidation property to codegenModel
* Adds separate variable val
* Samples regenerated
* Updates test_some_object.py
* Adds two more boolean conditions
* Runs ensure up to date
* Updates tests to check that models are or are not generated
* Removes unused import
* Updates model names in java test
* Removes unneeded test
* Cleans up tests
* HTTPSigning implementation for CSharpSDK
* Updated the sample for HTTPSigning
* Updated the sample2 for HTTPSigning
* update samples
* HTTPSigning_For_Async
* update samples
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Issue 7425: Fixed comments that referred to RestTemplate.
* Ran genreate-samples.sh
* Re-ran generate-samples.sh against all configs.
* update samples
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Fix the new package that deal with Configuration (the old one is depecrated)
* First version to support Play Framework 2.7
* Fix small problems that prevent compilation of each samples. Now everything is compiling perfectly
Tests running under Gradle 5.6.4 were breaking due to a change in
informational output. It's not clear when this was introduced, but it
looks like the upgrade to Gradle 5.6.4 may have stopped running tests
during builds.
* Rust reqwest/api_mustache Missing api Vec in parameter
Not using #isListContainer in parameters
* incorrect value for supportAsync
supportAsync set to "false" should be false
* Sample updates for CI
* Fixed Double Vec
Only check for special case... "dataType" case includes Vec
* update samples
* remove old files
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Properly decode $ref
fixes#5720
* Specify decoding encoding
* Nicer syntax
* UTF-8 typo
* Unescape special characters
* Change order of unescaping to prevent escaped sequences by accident
* Comment for special decoding
Co-authored-by: Jim Schubert <james.schubert@gmail.com>
* Add unit test for simple ref decoding
Co-authored-by: Jim Schubert <james.schubert@gmail.com>
* Adds fix for issue7262 and a test of it
* Updates inline schema to not include properties
* Adds null check of discriminator
* Updates issue sample file
* replace go with go-experimental
* update samples
* extends with abstract go class
* rearrange
* remove deprecated
* minor fix
* remove go deprecated samples
* update pom, clean up samples
* mark generator as deprecated
* use java8 OffsetDateTime for clients
* use java8 OffsetDateTime for clients
* fix javadoc
* add javadoc to JavaTimeFormatter.mustache
* add javadoc to JavaTimeFormatter.mustache
* add javadoc to JavaTimeFormatter.mustache
* Add option to prevent usage of jackson-nullable (#2901)
Add a option for all java client and server to prevent
usage of third party library (jackson-databind-nullable)
which may be forbidden in some company
Add samples for Vertx, Spring MVC, Spring Cloud, Feign and Play
Upgrade dependencies for org.openapitools:jackson-databind-nullable
* Samples - Remove dependency org.openapitools:jackson-databind-nullable (#2901)
* Fix generation of gradle file for vertx (#2901)
* Regenerate samples (#2901)
* Fix documentation and up to date (#2901)
* Fix forgotten regeneration of vertx after dependency integration (#2901)
* Regenerate template after rebase (#2901)
* Use yaml config files introduce in #6509 to manage samples (#2901)
* Regenerate template using the config (#2901)
* Fix bad version during testing generated samples (#2901)
* Regenerate template after fix bad version (#2901)
* Fix merge, allow for set importing on codegen model
Co-authored-by: Jim Schubert <james.schubert@gmail.com>
* add model/index.ts
- move export of all models to model/index.ts
- move RequestFile definition to model/index.ts
This fixes#7126
* update samples
* Back out models/index.ts
Make this backwards-compatible:
- move `RequestFile` definition to `model/models.ts`
- remove `model/index.ts`
- re-export `RequestFile` from `api/apis.ts`
- make generation of `ObjectSerializer` conditional
* for some reason, Symfony isn't up to date
* reverts changes to php-symfony sample
* moves comment to mustache comment rather than TS comment
Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
* removes stale files from samples (no longer generated)
* updates samples
Co-authored-by: Esteban Gehring <esteban.gehring@gmail.com>
* [java/resttemplate] Generate valid code if no Authentication implementations present
Take the logic used to decide which instances to add to the authentications map and re-use to not import classes or offer non-functional util methods
* parameterize formParams
fixes#5782
* replace use of ISO8601DateFormat and ISO8601Utils with StdDateFormat
fixes#5779
* add constructor to intialise calendar
* Revert "[java/resttemplate] Generate valid code if no Authentication implementations present"
This reverts commit 6e450907ba.
* Revert "parameterize formParams"
This reverts commit 7a26ce5dd2.
* also override single arg parse method to avoid throwing exception
* also override single arg parse method to avoid throwing exception
* update samples
* update samples
* fix jersey1 tests
* fix jersey2 test
* update resteasy dependencies
* fix java jersey2 oas3 tests
* use java8 in springboot-beanvalidation
Co-authored-by: Jon Freedman <jon.freedman@zoho.com>
This adds an x-is-free-form vendor extension to allow users to skip our
"free-form" logic which would previously prevent object schemas with no
properties to be considered "free-form". The previous behavior was due
in part to Swagger Parser not exposing `additionalProperties: false` to
us (which should be similar behavior to this extension).
A free-form object is considered a dynamic object with any number of
properties/types. DefaultGenerator does not allow for generation of
models considered free-form. However, a base type with no properties and
no additional properties is allowed by OpenAPI Specification and is
meaningful in many languages (e.g. "marker interfaces" or abstract
closed types).
* Updates docker images for CLI and Online to JDK 11 and Maven 3.6.3 builders
* Uses openjdk:11.0.8-jre-slim-buster rather than alpine as new image publishes CVEs
* Update apiInvoker.mustache
In scala-akka-client code that is getting generated, addAuthentication method is called after setting headers using header parameter in the below mentioned line
addAuthentication(request.credentials)(
httpRequest.withHeaders(headers(request.headerParams))
)
However, in addAuthentication method, we are using withHeaders method that overwrites the headers set using header parameters. So, I am proposing to
change the addAuthentication method be replacing withHeaders() method to addHeader() to add authentication header to the list of already existing headers.
* Update ApiInvoker.scala
Added changes to sample for the client generator code change
* Provide getter `values` for all enum values
* Add values getter also to inline enum
* Generate samples
Co-authored-by: SimonIT <simonit.orig@gmail.com>
* FILES is now path relative with no prefixes
some Java implementations don't honor .relativize documentation fully.
When outDir is /a/b and the input is /a/b/c/d, the result should be c/d.
Some implementations make the output ./c/d which seems to mix the logic
as documented for symlinks. So we need to trim any / or ./ from the start,
as nobody should be generating into system root and our expectation is no ./
This resolves regeneration issues for those on such Java
implementations, although we've not been able to track down the exact
vendor or configurations which might lead to these differences.
* Ensure windows outputs FILES paths in same format
* Normalize FILES paths to remove relativization mid-path
* Correct date format of date formatted strings
* Update petstore
* Regenerate samples on linux
* Remove final for letting the user configure custom date formats
Co-authored-by: SimonIT <simonit.orig@gmail.com>
* First approach for discussion
* typo
* add addiotional method
* polish a bit
* remove call of super method
* fix javadoc error
* com.google.common.collect.
* merge master regenerate samples
* sort imports alphabetically
* sort imports alphabetically with right key
* typo
* add type previous imports are still there.
* add type previous imports are still there.
* remove new test to see if they are the problem.
* merge master add tests back in
* align changes which should not lead to failing test but you never know.
* remove formatting changes
* dummy change
* revert spaces
* revert spaces
* revert functional changes
* comment out test
* remove model
* remove interface method
* remove test class completely
* put test class back - test body commented out
* rename test methods
* put back logic and tests
* remove generated APIs
* remark amakhrov
* check in one generated file to test
* adjust call super
* add comment use set.
for required fields better. This change ensures the required field isn't
overridden with undefined when the object is constructed - especially through
a chain of constructFromObject calls..
* Adds example setting code in python-experimental with one fn setting example values
Fixes sample indentations
Handles composed schema models, object model and arraymodels
Adds brackets in arraymodel input
Sets modelName with map schemas
Removes included_schemas arguments, dicriminator examples do not include property examples
Refactors modelName into toExampleValueRecursive argument
Fixes bug where example models contained themselves
Stops using model ExampleGenerator examples because they are inconsistent with the ones in python-experimental
Uses example values if they exist
Removes single quotes from enum examples
Fixes password example
Adds commented our regex handling, commented out because it breaks
Handles AnyType schema examples
Adds x_example values for simple string properties, uses toExampleValue for all example generation
Adds examples for simple string parameters
Updates comments in toExampleValueBase
Fixes the double nested bug for AdditionalPropertiesWithArrayOfEnums
Fixes bug where NumberWithValidations had double nesting
Updates simple string examples in arrays
Fixes array string examples
Fixes example for string endpoint body example
Adds exampleFromStringOrArraySchema
Adds regex examples, pegs slf4j-version to v1.7.29 for rgxgen
Adds comment about regex seed
Updates pattern matcher to not handle ^ and $
Updates used sample values
Adds ensureQuotes
Adds ensureQuotes
Fixes double quote bug
Updates mustache file
Adds ensureQuotes to key handling
Adds modelNameToSchema map, reduces run time by using it
Fixes java tests
Regenerates python-experimental samples
Fixes python test
* Rebased on master
* Adds getModelNameToSchemaCache
* Updates toDefaultValue to not mutate schemas
* Has all dates and datetimes default and example setting use the same helper function
* Samples regenerated
* indentation tweak, removes txt from sample file
* Added library and edited generator to support server stub generation with Kumuluzee framework.
* Trimmed and tweaked pom.xml template and removed unnecessary template files from generator and library.
* minor edits
* Added new library to Java client codegen (microprofile-kumuluzee). A
functional KumuluzEE REST client can now be generated.
* Edited README for microprofile-kumuluzee
* Edited docs to include new KumuluzEE library options.
* Updated kee-rest-client client POM dependency version to latest
* fixed pom, edited REAMDE
* Trimmed redundant dependencies from KEE client pom
* Removed unnecessary DefaultGenerator edit, modified config template accordingly.
* Made mp framework an additional property for microprofile instead of being another library option, removed now redundant library files.
* Updated documentation with microprofile framework
* Fixed errors caused by removed functions and variables
* update doc
Co-authored-by: Chuckledog <aljaz.pavsic@gmail.com>
Co-authored-by: Jan Meznaric <jmezna@gmail.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
* update spec
* fix datetime default value
* fix the issues when the class name is not in pascal case
* Update modules/openapi-generator/src/main/resources/csharp-netcore/modelGeneric.mustache
Co-authored-by: Tatsuro Shibamura <me@shibayan.jp>
* update samples
Co-authored-by: Tatsuro Shibamura <me@shibayan.jp>
* update csharp-netcore dependencies
* update test sdk version
* set tests.sdk version to 15.9.2
* rearrange test
* vs 2019 image
* rollback to v4.61.0
* update Microsoft.NET.Test.Sdk version
* Revert "update Microsoft.NET.Test.Sdk version"
This reverts commit 7a86bfc415.
* rollback Microsoft.NET.Test.Sdk
The "..._parseFromJSON" template was buggy because the name of the _e type used was not the same than the generated.
See the first argument of "..._convertToJSON" to see that the _e type used there was not the same
* Add samples composer.lock to root .gitignore
composer.lock may produce CI errors when you need to test build against
different PHP versions. However users most likely want to commit this
file, so I think it's better to exclude it only in root .gitignore.
* Commit composer.lock in default PHP templates
* Refresh samples
* Update play framework minor version + scala + swagger-ui + Remove bugs in the url of swagger-ui.
* update samples
Co-authored-by: William Cheng <wing328hk@gmail.com>
* [python-experimental] Fix model tests
* Fixes model tests to template off the classname instead of
the model's description.
* Uses python-experimental templates when generating
python-experimental samples
* Fix sample file manifest
* Restore remaining tests
* Added a Configuration object in the Runtime that can be used to update a base path.
Added a new Configuration object that has attributes that can be used to alter the behaviour of the query config generators. In particular, added a basePath field which can be used to prepend to the urls in the query configs. The old behaviour only used relative paths for the urls which means cross domain support was not possible.
* Ran script to update the samples after making the template change
Co-authored-by: Steve Graham <stgraham2000@gmail.com>
* renamed async methods to end with async
* update samples
* updated samples
* updated test to use new name
Co-authored-by: William Cheng <wing328hk@gmail.com>
* added rx3 support
* fix rx3 support
* generated samples
* updated samples
* update samples
* changed rxjava3 adapter to the one from squareup
* changed dependency of RxJava3CallAdapterFactory
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Update to reset httpRepsonse.Body such that is available to client consumers via the returned httpResponse variable.
* update samples
Co-authored-by: William Cheng <wing328hk@gmail.com>
* fixed a typo issue in aspnetcore generator #4829
* solved an issue with integration tests using WebApplicationFactory
* updated aspnetcore samples impacted by the change
* added cancellation tokens to async calls
* changed variable name for consistency
* update samples
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Corrects tag for including HttpSignatureAuth in gradle builds
* Updates version of org.tomitribe:tomitribe-http-signatures in
gradle template to match version from maven template
* Updates samples
* Fix for issue 4656 typescript-node generate invalid require statement instead of import statement
* Fixed broken link under testing templates
* Result of run generate-samples.sh / typescript-node*
* import stmt depending on flag supportsES6
* Update petstore sample for typescript-node
* import ... from stmt for http/request module
* update samples
* update doc
Co-authored-by: William Cheng <wing328hk@gmail.com>
* fix(typescript-axios): add Set as language primitive
* fix(typemapping): added lowercased set as primitive type
* fix(samples): regenerated ts samples and added Set as language primitive to ts docs
* Requires python >= 3.5, adds type hints to call_api method
* Adds type hints to files_parameters and __call_api
* Adds and uses a new json encoded to prepare data before it is sent
* Removes nose name from gitlab testing invocations
* Also updates travis to py>=3.5
* Collapses encoder back into sanitize_for_serialization
* [Swift5] Fix Datetime default value
If a default value is provided by the API spec for a date-time attribute,
this commit fixes the generation code to build a correct Swift `Date` object.
* update samples with swiftlint
Co-authored-by: William Cheng <wing328hk@gmail.com>
* [java][jersey2-client] Disable coercion of scalars
* Respect the coercion objectmapper setting in deserializers
* Update jackson in maven plugin to get version that has ALLOW_COERCION_OF_SCALARS
* [Dart] Fix enum generation
* Update generated Order file
* Re-add constructor
* Generate dart2 files
* Dart - nicer enum formatting
* Dart - generate enum name as className+enumName
* Dart - dont initialize vars to null by default
Fixes#3633
* Dart - Generate inlined enums and deserialize them
* Merge branch 'master' of github.com:agilob/openapi-generator into 6727
* Dart - Fix using default value
* Fix typo
* Regenerate add dart files
* dart Revert override for dart dio and jaguar
* Fix dart model tests
* Fix dart1 generated template
* Use {{{datatypeWithEnum}}}
* Dart - throw when enum not known
* Fix generating enum with datatype from list
* Default value for the non required fields to null
When a field is not required, the avro schema has no default value.
Has described in an [avro issues](https://issues.apache.org/jira/browse/AVRO-1803), the property default: null must be set.
If we don't do this in the avro file, when we generate java code from generated avro schema, the builder fail if the data isn't set in the avro data class.
* Update generated avro sample
* Fix dir path in PR request template
* Add "useAbstractionForFiles" config option for Java/RestTemplate to allow flexible options in generated client when a file is needed (#6715)
* Add "useAbstractionForFiles" config option for Java/RestTemplate to allow flexible options in generated client when a file is needed (#6715)
* Add "useAbstractionForFiles" config option for Java/RestTemplate to allow flexible options in generated client when a file is needed (#6715)
* #6715 - Add "useAbstractionForFiles" config option for Java/RestTemplate to allow flexible options in generated client when a file is needed.
* Removes future from python-exp v3 sample
* Removes future from python-exp v2 sample
* Deletes future from remaining python-exp files
* Removes six from python-exp templates
* Removes six from python-exp samples
* Removes mock from python-exp
* Python-exp switched to py3
* Removes python 2.7 for python-exp ci testing
* Requires python>=3.3 for python-exp
* Reverts unnecessary changes to two templates
* Mustache template should use invokerPackage tag to generate import
* add JsonSubTypes annotation to handle scenario when OAS name has special characters
* add JsonSubTypes annotation to handle scenario when OAS name has special characters. Add unit test
* run sample scripts
* fix unit test
* run sample scripts
* add minimal openapi document to show issue with special characters and discriminators
* Add 'isClassnameSanitized' tag
* Add 'isClassnameSanitized' tag
* Add 'isClassnameSanitized' tag
* Add 'isClassnameSanitized' tag
* Add 'isClassnameSanitized' tag
* Add 'isClassnameSanitized' tag
* Add unit tests for unmarshaling of discriminators with special characters
* Add unit tests for unmarshaling of discriminators with special characters
* use JsonTypeName
Co-authored-by: Vikrant Balyan (vvb) <vvb@cisco.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
* fix: make accept header of async apis consistent with sync version
* make sync and async version use same logic
* generate samples for csharp-netcore using generate-samples.sh
* fix: make accept header of async apis consistent with sync version
* change tabs to spaces to match existing code
- [ ] 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?
- [ ]Have you [tested with the latest master](https://github.com/OpenAPITools/openapi-generator/wiki/FAQ#how-to-test-with-the-latest-master-of-openapi-generator) to confirm the issue still exists?
- [ ] Have you searched 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))
- [ ] [Optional] Sponsorship to speed up the bug fix or feature request ([example](https://github.com/OpenAPITools/openapi-generator/issues/6178))
<!--
Please follow the issue template below for bug reports.
@@ -45,9 +45,13 @@ please create a Gist (https://gist.github.com) or upload it somewhere else and
link it here.
-->
##### Command line used for generation
##### Generation Details
<!-- including the language, libraries and various options -->
<!--
Prefer CLI steps, including the language, libraries and various options.
Providing config-based settings allows for simpler testing across CLI and plugins.
For examples, see https://github.com/OpenAPITools/openapi-generator/tree/master/bin/configs
- [ ] Read the [contribution guidelines](https://github.com/openapitools/openapi-generator/blob/master/CONTRIBUTING.md).
- [ ] Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
- [ ] If contributing template-only or documentation-only changes which will change sample output, [build the project](https://github.com/OpenAPITools/openapi-generator#14---build-projects) beforehand.
- [ ] Run the shell script `./bin/generate-samples.sh`to update all Petstore samples related to your fix. This is important, as CI jobs will verify _all_ generator outputs of your HEAD commit as it would merge with master. These must match the expectations made by your contribution. You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example `./bin/generate-samples.sh bin/config/java*`. For Windows users, please run the script in [Git BASH](https://gitforwindows.org/).
- [ ] Run the shell script `./bin/generate-samples.sh`to update all Petstore samples related to your fix. This is important, as CI jobs will verify _all_ generator outputs of your HEAD commit as it would merge with master. These must match the expectations made by your contribution. You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example `./bin/generate-samples.sh bin/configs/java*`. For Windows users, please run the script in [Git BASH](https://gitforwindows.org/).
- [ ] File the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master`
- [ ] Copy 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.
- If you're not using the latest master to generate API clients or server stubs, please give it another try by pulling the latest master as the issue may have already been addressed. Ref: [Getting Started](https://github.com/openapitools/openapi-generator#getting-started)
- Search the [open issue](https://github.com/openapitools/openapi-generator/issues) and [closed issue](https://github.com/openapitools/openapi-generator/issues?q=is%3Aissue+is%3Aclosed) to ensure no one else has reported something similar before.
- File an [issue ticket](https://github.com/openapitools/openapi-generator/issues/new) by providing all the required information.
- File an [issue ticket](https://github.com/openapitools/openapi-generator/issues/new) by providing all the required information. Failure to provide enough detail may result in slow response from the community.
- Test with the latest master by building the JAR locally to see if the issue has already been addressed.
- You can also make a suggestion or ask a question by opening an "issue".
@@ -87,10 +87,7 @@ To add test cases (optional) covering the change in the code generator, please r
To test the templates, please perform the following:
- Update the Petstore sample by running the shell scripts under the `bin` folder. For example, run `./bin/generate-samples.sh .
/bin/configs/python*` to update the Python-related samples under [`samples`](https://github.com/openapitools/openapi-generator/t
ree/master/samples). For Windows, please install [GIT bash](https://gitforwindows.org/). (If you find that there are new files g
enerated or unexpected changes as a result of the update, that's not unusual as the test cases are added to the OpenAPI spec fro
m time to time. If you've questions or concerns, please open a ticket to start a discussion)
/bin/configs/python*` to update the Python-related samples under [`samples`](https://github.com/openapitools/openapi-generator/tree/master/samples). For Windows, please install [GIT bash](https://gitforwindows.org/). (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)
- During development it can be helpful to quickly regenerate the samples without recompiling all of openapi-generator, e.g. when you have only updated the mustache templates. This can be done by passing the `-t` parameter: `-t modules/openapi-generator/src/main/resources/python`.
- Run the tests in the sample folder using maven `mvn integration-test -f /path/to/pom.xml`, e.g. `mvn integration-test -f samples/client/petstore/python/pom.xml`. (some languages may not contain unit testing for Petstore and we're looking for contribution from the community to implement those tests)
@@ -110,7 +107,8 @@ See [OpenAPI Tools wiki](https://github.com/OpenAPITools/openapi-generator/wiki/
- Add test case(s) to cover the change
- Document the fix in the code to make the code more readable
- Make sure test cases passed after the change (one way is to leverage https://travis-ci.org/ to run the CI tests)
- File a PR with meaningful title, description and commit messages.
- File a PR with meaningful title, description and commit messages
- Make sure the option "Allow edits from maintainers" in the PR is selected so that the maintainers can update your PRs with minor fixes, if needed.
- Recommended git settings
- `git config core.autocrlf input` to tell Git convert CRLF to LF on commit but not the other way around
- To close an issue (e.g. issue 1542) automatically after a PR is merged, use keywords "fix", "close", "resolve" in the PR description, e.g. `fix #1542`. (Ref: [closing issues using keywords](https://help.github.com/articles/closing-issues-using-keywords/))
[](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.openapitools%22%20AND%20a%3A%22openapi-generator%22) [](./LICENSE)  [](https://join.slack.com/t/openapi-generator/shared_invite/enQtNzAyNDMyOTU0OTE1LTY5ZDBiNDI5NzI5ZjQ1Y2E5OWVjMjZkYzY1ZGM2MWQ4YWFjMzcyNDY5MGI4NjQxNDBiMTlmZTc5NjY2ZTQ5MGM) [](https://twitter.com/oas_generator)
</div>
<div align="center">
[](https://join.slack.com/t/openapi-generator/shared_invite/enQtNzAyNDMyOTU0OTE1LTY5ZDBiNDI5NzI5ZjQ1Y2E5OWVjMjZkYzY1ZGM2MWQ4YWFjMzcyNDY5MGI4NjQxNDBiMTlmZTc5NjY2ZTQ5MGM)
[](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.openapitools%22%20AND%20a%3A%22openapi-generator%22)
[](https://twitter.com/oas_generator)
[](https://github.com/OpenAPITools/openapi-generator/actions?query=workflow%3A%22Check+Supported+Java+Versions%22)
</div>
@@ -29,7 +30,7 @@
: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, 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:
: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)). For security vulnerabilities, please contact [team@openapitools.org](mailto:team@openapitools.org). :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:
@@ -59,7 +60,7 @@ OpenAPI Generator allows generation of API client libraries (SDK generation), se
| 5.0.0 (upcoming major release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/5.0.0-SNAPSHOT/) | TBD | Major release with breaking changes (no fallback) |
| 5.0.0-beta2 (upcoming beta release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/5.0.0-SNAPSHOT/) | 30.07.2020 | Major beta release with breaking changes (no fallback) |
| [5.0.0-beta](https://github.com/OpenAPITools/openapi-generator/releases/tag/v5.0.0-beta) (latest beta release) | 30.06.2020 | Major beta release with breaking changes (no fallback) |
| [5.0.0-beta3](https://github.com/OpenAPITools/openapi-generator/releases/tag/v5.0.0-beta3) (latest beta release) | 20.11.2020 | Major beta release with breaking changes (no fallback) |
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.
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
To generate a PHP client for [petstore.yaml](https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_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`)
(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/3_0/petstore.yaml -g php -o c:\temp\php_api_client`)
<!-- RELEASE_VERSION -->
You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/5.0.0-beta/openapi-generator-cli-5.0.0-beta.jar)
You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/5.0.0-beta3/openapi-generator-cli-5.0.0-beta3.jar)
<!-- /RELEASE_VERSION -->
To get a list of **general** options available, please run `java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar help generate`
@@ -428,7 +428,7 @@ To get a list of PHP specified options (which can be passed to the generator wit
## [3 - Usage](#table-of-contents)
### To generate a sample client library
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:
You can build a client against the [Petstore API](https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml) as follows:
```sh
./bin/java-petstore-okhttp-gson.sh
@@ -440,7 +440,7 @@ This script uses the default library, which is `okhttp-gson`. It will run the ge
@@ -561,6 +561,7 @@ Here is a list of community-conitributed IDE plug-ins that integrate with OpenAP
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.
@@ -668,7 +678,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 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/20 - [Contract-First API Development with OpenAPI Generator and Connexion](https://medium.com/commencis/contract-first-api-development-with-openapi-generator-and-connexion-b21bbf2f9244) by [Anil Can Aydin](https://github.com/anlcnydn)
- 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/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)
@@ -756,10 +766,26 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 2020-05-19 - [Dead Simple APIs with Open API](https://www.youtube.com/watch?v=sIaXmR6xRAw) by [Chris Tankersley](https://github.com/dragonmantank) at [Nexmo](https://developer.nexmo.com/)
- 2020-05-22 - [TypeScript REST API Client](https://dev.to/unhurried/typescript-rest-api-client-4in3) by ["unhurried"](https://dev.to/unhurried)
- 2020-05-28 - [Building APIs with Laravel using OpenAPI](https://www.youtube.com/watch?v=xexLvQqAhiA) by [Chris Tankersley](https://github.com/dragonmantank) at [Laracon EU](https://laracon.eu/)
- 2020-06-23 - [新規サーバーアプリケーションにTypeScriptを採用してみた](https://www.cam-inc.co.jp/news/20200623) at [CAM Tech Blog](https://www.cam-inc.co.jp/news/tech-blog/)
- 2020-06-29 - [Artifact Abstract: Deployment of APIs on Android Mobile Devices and Microcontrollers](https://ieeexplore.ieee.org/document/9127353) by [Sergio Laso ; Marino Linaje ; Jose Garcia-Alonso ; Juan M. Murillo ; Javier Berrocal](https://ieeexplore.ieee.org/document/9127353/authors#authors) at [2020 IEEE International Conference on Pervasive Computing and Communications (PerCom)](https://ieeexplore.ieee.org/xpl/conhome/9125449/proceeding)
- 2020-07-07 - [5 Best API Documentation Tools](https://blog.dreamfactory.com/5-best-api-documentation-tools/) by Susanna Bouse at [DreamFactory Blog](https://blog.dreamfactory.com/)
- 2020-07-12 - [Open API 3.0の定義からgolangのサーバコードのスケルトンを作成する](https://qiita.com/professor/items/4cbd04ec084d13057bc2) by [@professor (Qiita Blog)](https://qiita.com/professor)
- 2020-07-20 - [Datadog API client libraries now available for Java and Go](https://www.datadoghq.com/blog/java-go-libraries/) by Jordan Obey at [Datadog Blog](https://www.datadoghq.com/blog)
- 2020-07-23 - [Generate Client SDK for .NET Core using Open Api](https://dev.to/no0law1/generate-client-sdk-for-net-core-using-open-api-2dgh) by [Nuno Reis](https://dev.to/no0law1)
- 2020-07-26 - [Dartのhttp_interceptorライブラリを使うと配列のクエリパラメータが消えてしまう件の応急処置](https://qiita.com/gyamoto/items/eeeff81b6770487319ed) by [@gyamoto](https://qiita.com/gyamoto)
- 2020-08-01 - [Generate Angular ReactiveForms from Swagger/OpenAPI](https://dev.to/martinmcwhorter/generate-angular-reactiveforms-from-swagger-openapi-35h9) by [Martin McWhorter](https://dev.to/martinmcwhorter)
- 2020-08-03 - [Criando Bibliotecas para APIs RESTful com OpenAPI, Swagger Editor e OpenAPI Generator](https://medium.com/@everisBrasil/criando-bibliotecas-para-apis-restful-com-openapi-swagger-editor-e-openapi-generator-75349a6420fd) by [everis Brasil (an NTT DATA Company)](https://medium.com/@everisBrasil)
- 2020-08-19 - [マイクロサービスを連携してみよう](https://thinkit.co.jp/article/17704) by [岡井 裕矢(おかい ゆうや)](https://thinkit.co.jp/author/17588), [泉 勝(いずみ まさる)](https://thinkit.co.jp/author/17705) at [Think IT(シンクイット)](https://thinkit.co.jp/)
- 2020-09-10 - [Introduction to OpenAPI with Instana](https://www.instana.com/blog/introduction-to-openapi-with-instana/) by [Cedric Ziel](https://www.instana.com/blog/author/cedricziel/) at [Instana Blog](https://www.instana.com/blog/)
- 2020-09-17 - [Generate PowerShellSDK using openapi-generator](https://medium.com/@ghufz.learn/generate-powershellsdk-using-openapi-generator-33b700891e33) by [Ghufran Zahidi](https://medium.com/@ghufz.learn)
- 2020-09-24 - [How to automate API code generation (OpenAPI/Swagger) and boost productivity - Tutorial with React Native featuring TypeScript](https://medium.com/@sceleski/how-to-automate-api-code-generation-openapi-swagger-and-boost-productivity-1176a0056d8a) by [Sanjin Celeski](https://medium.com/@sceleski)
- 2020-09-25 - [Generate OpenAPI Angular Client](https://medium.com/@pguso/generate-openapi-angular-client-8c9288e8bbd4) by [Patric](https://medium.com/@pguso)
- 2020-10-24 - [Working with Microsoft Identity - React Native Client](https://www.josephguadagno.net/2020/10/24/working-with-microsoft-identity-react-native-client) by [Joseph Guadagno](https://www.josephguadagno.net/)
- 2020-10-31 - [[B2] OpenAPI Specification으로 타입-세이프하게 API 개발하기: 희망편 VS 절망편](https://www.youtube.com/watch?v=J4JHLESAiFk) by 최태건 at [FEConf 2020](https://2020.feconf.kr/)
- 2020-11-05 - [Automated REST-Api Code Generation: Wie IT-Systeme miteinander sprechen](https://www.massiveart.com/blog/automated-rest-api-code-generation-wie-it-systeme-miteinander-sprechen) by Stefan Rottensteiner at [MASSIVE ART Blog](https://www.massiveart.com/blog)
- 2020-12-01 - [OpenAPI GeneratorでGoのAPIサーバー/クライアントコードを自動生成する](https://qiita.com/saki-engineering/items/b20d8b6074c4da9664a5) by [@saki-engineering](https://qiita.com/saki-engineering)
## [6 - About Us](#table-of-contents)
@@ -834,7 +860,7 @@ Here is a list of template creators:
* PHP (Guzzle): @baartosz
* PowerShell: @beatcracker
* PowerShell (refactored in 5.0.0): @wing328
* Python-experimental: @spacether
* Python: @spacether
* R: @ramnov
* Ruby (Faraday): @meganemura@dkliban
* Rust: @farcaller
@@ -1045,7 +1071,7 @@ OpenAPI Generator is a fork of [Swagger Codegen](https://github.com/swagger-api/
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.