* Add debug flag for go-experimental generator
* Check for errors before dumping the response in Go generator
* samples/openapi3: update samples for Go generators
* Add support for dumping request and response in Go generated clients
The following change adds a new configuration setting, which
controls whether clients want to dump the HTTP request and response.
Useful when debugging API calls and clients.
* samples: Update Go samples with XML
* Use log.Logger when dumping HTTP request and response in Go client
* Make typescript-node support bearer token authentication and add support for intercepting request
* Explicit typing of interceptors
* Update modules/openapi-generator/src/main/resources/typescript-node/api-single.mustache
Formatting
Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>
* Build Petstore
* [swift] introduce result type as response library
* iOS - run petstore samples
* [swift4] add result sample to testing pipeline
* [swift] update docs with result type
* [swift] update result visibility
* [swift] update docs
* Add queue parameter to API
* Apply queue to response function argument
* Update petstore sample
* Update all sample projects
Run ./bin/swift4-all.sh then remove unrelated diff.
* Refactor variable name
Rename queue to apiResponseQueue, because apiResponseQueue is more clear for explaining the context.
* Update Gradle in generated Java projects from 2.14.1 to 6.0.1
* Upgrade Java 11 native Gradle from 5.5 to 6.0.1
When Java 11 native client library was introduced it was introduced with an overridden version of the Gradle wrapper (5.5 instead of 2.14.1). From looking at that PR, there doesn't appear to be any specific reason for the versions to differ. This removes the only override of the Gradle wrapper so all the Java projects are up to date and shares the same version.
* [swift] implement non public api
* [swift] add petstore for non public api
* [swift] fix error in extension that cannot be internal
* [swift] update docs
* Convert not string enum default value to string by toString.
* Add some test cases for enum's default value.
* Convert string default value to enum var name format.
* sync master, update samples
* Initial work on a redux-query client generator.
* Update to match the required redux-query version w/ fixed TS defs.
* Fixes for query parameters, add samples.
* Add windows versions of redux-query scripts.
* Fix for form data handling.
* Initial work on multiple inheritance support.
* Tweaks for discriminator usage + from/to JSON.
* Fix initialization of queryParameters if needed.
* Copy over more QueryConfig values into the final generated QueryConfig.
* Fix for imports that are combined types.
* [cli][batch] Better glob support
If invoked as `openapi-generator batch *.yaml`, the command might
previously fail in some shells where `*.yaml` expands to file name only.
This supports globs without path-part in the filename to prevent
possible NPE.
* [cli] Document batch command
* FIXES#4539 replace line comment with block comment
eslint requires you to use a block comment for ignoring whole files.
* changed comment style in other templates
* generated samples
* generated openapi3 samples
* Revert "generated openapi3 samples"
This reverts commit 98af3dfc
* generated missing samples
* missing indent on the new feature pull request.
* One indentation to much
* Import for application was still missing
* some middleware got in the runServer name
* #2526 support the delegate pattern for kotlin-spring
* fix the diamond
* update the doc
* fix ci
* use Resource? instead of MultipartFile when dealing with files
* bump after rebase on master
* [java] Improve assumptions about artifactVersion
The logic to apply a default artifactVersion was faulty, resulting in
generation without an explicit version specified either on the OpenAPI
Document or at the CLI/plugin level would result in poms generated with
<version></version>
As an example, in any commit made up to 5 weeks before this commit, run:
./bin/java-pkmst-petstore-server.sh
The solution is to ensure that artifactVersion isn't overwritten by an
"in-process" additonalProperties map, and also to ensure that
additionalProperties is synced with the artifactVersion property once it
has been modified.
As a future task, we'll want to move any modification of
additionalProperties outside of preprocessOpenAPI (to processOpts).
We're hiding manipulation of the "Opts" at a point where we should
really only be applying logic on top of the OpenAPI doc.
* [sample] Regenerate java-pkmst sample
* Validation script batches only samples
In this change, the validation script will batch only sample generation.
For meta and documentation, it will always be iterative.
Also made changes to meta-codegen*.sh so conditionals which may invoke
maven are explicitly rooted.
* [ci] batch python-experimental, include new springboot option
Scalaz is not re-generated by users or CI (only verified), so some
compilation issues have been introduced into the generator.
Specifically, the generator previously didn't handle defaults well (or
even correctly, maybe?). This broke when array models were added to the
openapi document used to generate samples. The inclusion of Date-related
mappings being mapped to joda time in DefaultCodegen also caused some
issues with new DateTime properties on models.
Over the course of what appears to be Nov 10-17 2019, CircleCI seems to
be having intermittent issues with Scalaz verification. I found that
green builds were picking up SBT 0.13.x and failed builds were SBT
1.1.0. It's not clear where the system level SBT is being defined, but a
simple fix has been to enforce the sbt version in the generator.
For those unfamiliar with SBT; the SBT command acts as a launcher script
which may switch to older/newer versions of SBT. A Scala project invoked
with SBT 1.1.0 will look for an sbt.version override and happily attempt
compilation with the available SBT 1.1.0. The problem is that SBT 1.1.0
uses Scala 2.12 and this is not binary compatible with Scala 2.11. This
can cause issues with builds due to plugins or incompatible Java version.
* 4383: Client resttemplate and webclient. Form Params are badly added when they are lists
* 4383: Force redeploy
* 4383: Fix test
* 4383: Fix map
* 4383: revert change
* 4383: Fix test resttemplate-withXml
bin/elm-petstore-all.sh invokes elm-petstore.sh and
elm-0.18-petstore.sh. Both of these define `ELM_POST_PROCESS_FILE` for
post-processing the generated files. If a user doesn't have elm-format
installed, they may not realize that ensure-up-to-date has failed which
causes CI to fail due to differences in the ELM generated outputs.
This confusion can lead to a lot of downtime for contributors. For
example, I encountered this while adding feature set information to all
generators. I thought I had introduced the error and spent too long
looking through my changeset and re-running `ensure-up-to-date`
in the background before noticing the failed output. I was able to
generate proper output by installing elm-format. With 80+ languages/frameworks
and a rule for contributors to unblock CI by re-generating any failed
samples, it's not feasible (in some cases, not possible) to ask
contributors to install tooling specific post-processors. We'll have to
rely on elm contributors to run the script manually.
Ideally, elm generator templates should be updated to have properly
formatted outputs as a default.
We may want to consider documenting standards of what we put in the
scripts under bin/*sh and bin/utils/ensure-up-to-date, one of those
standards being that we omit toolchain specific post-processors.
* Added new additional parameter to allow nullable api return types
* Tweaking samples and .bat files
I've added new .bat files for the kotlin-client to alllow windows-devs to re-generate required samples via windows-shell (for CI).
* Moved example string to a dedicated variable in Spring's methodBody template
* Created a new exampleString template for JavaSpring
* Added a new mustache lambda to trim whitespace in fragments
* Added a new lambda to split long fragments into compilable strings
* Use newly introduced lambdas in Spring's API template to avoid generating uncompilable example code
* fixup! Simpler timeout with QTimer::singleShot (#4430)
* cpp-qt5-client: remove host since it is not well handled
* Move disconnect again
* cpp-qt5-client: handle scheme/host/port properly
* Fix port change try
When WorkflowSettings was constructed from an existing instance, as is
the case when we deserialize from an external configuration file, it
would result in an error:
Caused by: java.lang.UnsupportedOperationException
at com.google.common.collect.ImmutableMap.put(ImmutableMap.java:450)
at org.openapitools.codegen.config.WorkflowSettings$Builder.withSystemProperty(WorkflowSettings.java:465)
This was due to an error in `newBuilder(WorkflowSettings copy)` which
assigned builder.systemProperties with an immutable map. This is
incorrect because everything in the builder should be mutable until
.build() is invoked.
This likely affects CLI/Maven plugin as well for version 4.1.1 through 4.2.0.
* [meta] Support Kotlin meta generator
* Guard against automatic scripts (assumptions for this script are not fulfilled by some CI which run "run all" type scripts)
Fix Codegen Operation Scope Consistency
- Filter scopes based on operation
- Partially revert #1984 to not rely on custom attributes as to whether scopes exist
- Fix filtering global authentication schemes
Add a Go server configuration option of "featureCORS" that defaults to false. When set to true the Go server routers will be generated with Cross-Origin Resource Sharing middleware through gorrilla mux.
https://www.gorillatoolkit.org/pkg/handlers#CORS
* fix: prevent classcast exception during execution of openapi-generator-maven-plugin.
* style: revert styling to openapi defaults
* test: unit test coverage for handling boolean config options
* fix: replace option value with boolean, if it is a string literal boolean
* style: use data type long
* test: add maven testfile kotlin.xml to travis build
* test: runnable maven test of the kotlin generator
* This commit addresses issue #4346 and adds the proposed optionalEmitDefaultValues flag.
* ran /bin/cshapr-netcore-petstore.sh to create sample clients
* Fixed lost newline
* Ran script again to update samples
* fix(license): Fixing the license and author information
* fix(license): Fixing the license and author information
* fix(metadata): Adding default values for contact details and license fields
* fix(metadata): Adding default values for contact details and license fields
* updated the golden files for haskell to be able to generate against those
* Haskell-servant now serves static files which are in a directory called "static"
* I missed to regenerate the docs directory
* updated the golden files for haskell to be able to generate against those
* Added support for middlewares in the haskell servant generator.
* Renamed runOpenAPIPetstoreServer to runOpenAPIPetstoreMiddlewareServer and added a backwards compability version runOpenAPIPetstoreServer using requestMiddlewareId as middleware.
* feat(documentation): Adding model documentation
* feat(documentation): Adding model documentation
* feat(documentation): Adding model documentation
* feat(documentation): Adding model documentation
* Update build-and-test.bash
add check for non autogenerated test file
* Update README.md.mustache
Add instructions on how to test petstore sample manual tests.
* remove petstore sample from readme
* Fixes incorrect query header collection constants
The OpenApi codegen converts OpenApi v2 documents into an OpenApi v3
representation. The query parameter collection formats are squeezed
into different values from the raw OpenApi 2 collection format values.
For example: csv -> space
See: DefaultCodegen#getCollectionFormat
* Updates kotlin samples
* better test for go-api-server
* better test for go gin server
* fix go-api-server test
* fix folder path
* remove red test
* update test files
* update script with gofmt
* update windows batch files
* discard changes before running ensure-up-to-date
* add go-api-server to ensure uptodate script
* Changes python-experimental types to classes, adds additionalalproperties handling
Adds model_utils update, updates model.mustache
Updates api.mustache and uses model_to_dict in model_normal.mustache
Updates requirements.mustache for PythonClientExperimental
Passes through check_type when deserializing models
Converts types from strings to classes in PythonClientExperimentalCodegen.java and PythonTest.java
Creates PythonClientExperimentalTest.java
Updates toInstantiationType to use ModelUtils.xxx
Corrects docstring descriptions of response_type
Updates python-experimental typing, partially fixes deserialization tests
Adds fixes for some of the deserialization tests
Fixes deserialization tests
Switches model teplates to use allVars so allof props will be included
Fixes tests.test_enum_arrays
Fixes test_to_str
Adds additional_properties_type, fixes teast_todict in test_map_test.py
Correctly check the type of _request_timeout values
Fixes test_upload_file test
Turns off coercion when instantiating model types with client data
Updates file handling to input and output an open file object
Fixes linting errors
Adds fixes for python2 tests, linting fixes
Adds additionalproperties to docs + tests
Regenerates python-experimatal client
* Regenerates python-experimental client
* Updates windows python-experimental bat file
* Fixes addModelImport so client generation will work with the v2 spec
* Reverts PythonClientCodegen.java
* Acutally revert PythonClientCodegen.java
* Updates the sample example for file_type in docs
* Silences line too long error for python models so CI tests pass
* Fixes handling of file uploads, adds tests for uploading files
* Removes comment
* Fixes mock installation in python2
* Limit mock addition to python-experimental test requirements only
* Removes SmartBear copyright line
* Includes support for the Javascript platform
* Fixes enum serialization with non-string values
* Updates to expose api dependencies to consumers
* Uses explicit class name for Kotlin collection classes
* Maps unknown object type to Kotlin String
The Kotlinx serialization library uses reflectionless serialization and
requires compile-time serialization declarations. As a result, unknown
objects are mapped to Kotlin String instances to enable compilation
where object types are not explicitly defined.
* Improves support for binary objects
Previously, objects that contained binary data were assigned the
InputProvider data type. This was suitable for a binary input form
parameter, but unsuitable for Base64 or octet binary strings. These
binary strings are now assigned a more suitable object.
* Includes Kotlin Multiplatform auth classes
Includes support for:
- api key
- http basic
- http bearer
- oauth (partial support)
https://github.com/OpenAPITools/openapi-generator/issues/4283
* Updates Kotlin samples
* InlineResolver to flatten callback operations
Signed-off-by: lwlee2608 <lwlee2608@gmail.com>
* clone from VertxServerCodegen, to new VertxWebServerCodegen
* fix compilation error in VertxWebCodegn
* Start working on VertxWebServerCodegen, adding support files
* add server api handler
* add server api and fix yaml spec file generation
* link api to apiHandler
* convert vertx parameters into API model
* add support to multipart/form-data upload files
* ability to set http status code from ApiImpl
* replace rootPackage with invokerPackage
* add readme and sample
* fix circleCi error
* override file to FileUpload in typeMapping, no need to override from fromOperation(). Also remove unused annotation import from model
* remove smartBear software copyright
* use {{artifactVersion}} instead of hardcode version in readme
* add -t flag in generation script
* add generated vertx-web server to master pom for testing
* Fix copy-pasted string
* Generate the PathHandlerProvider.java in the apiPackage
This is a toss-up between apiPackage and invokerPackage since I don't
know which one was intended, I'm assuming it's the apiPackage.
It'd make sense to put the handler there since it is providing the API
and handling calls to it...
* Add function to get list of allowed values
* [python] Add function to get list of allowed values
* Remove temporary variable
* Remove static method and use a variable
* Remove classname
Update the go server api controller template to return the Router interface instead of the api specific router.
The Router interface type has the Routes function, which is what the generated `NewRouter` function needs. (not the api specific interface).
* [Slim4] Copy Slim3 generator as starting point
* [Slim4] Add psr7Implementation generator option
Slim supports PSR-7 interfaces for its Request and Response objects.
Slim provides its own PSR-7 implementation so that it works out of the
box.
However, you are free to replace Slim’s default PSR-7 objects with
a third-party implementation.
[Ref] https://www.slimframework.com/docs/v4/concepts/value-objects.html
* [Slim4] Handle psr7Implementation generator option
It somehow ended up with composerPackages and composerDevPackages
codegen variables and two additional functions. Hope, it's not too much.
* [Slim4] Extend from Slim3 generator
* [Slim4] Bump PHP Slim Framework version to 4.0.0
* [Slim4] Bump required PHP version to 7.1
[Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html)
* [Slim4] Remove app settings
Slim’s App settings used to be a part of the container and they have
now been decoupled from it.
[Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html)
* [Slim4] Set container argument optional
Slim uses an optional dependency container to prepare, manage,
and inject application dependencies.
Slim supports containers that implement PSR-11
like [PHP-DI](http://php-di.org/doc/frameworks/slim.html).
[Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html)
* [Slim4] Change response body write
You can't write to response instance directly anymore,
need to retrieve body object first.
[Doc](https://www.slimframework.com/docs/v4/objects/response.html#the-response-body)
* [Slim4] Change Slim\App constructor
[Upgrade Guide](https://www.slimframework.com/docs/v4/start/upgrade.html)
* [Slim4] Refactor token authentication options
User can provide array or Container as constructor argument from now.
Small refactoring required to retrieve authentication options from
that argument.
* [Slim4] Add PSR-7 implementation codegen flags
This approach seems more flexible to me.
User can customize templates in favor of chosen PSR7 implementation.
It's easier to change Composer packages and their versions.
* [Slim4] Add JsonBodyParserMiddleware
Slim4 doesn't parse JSON body, need to add suggested middleware.
Ref: https://www.slimframework.com/docs/v4/objects/request.html#the-request-body
* [Slim4] Remove request's deprecated methods usage
Since Slim 4.0.0 ServerRequest implementation doesn't have
getQueryParam and getParsedBodyParam methods anymore.
* [Slim4] Use getUploadedFiles for multipart request
isMultipart codegen property is always false so far.
Hope that bug will be fixed soon.
* [Slim4] Add samples
* Allow retrieving the underlying configuration for APIClient
- Needed for dynamically changing the underlying implementations and
for testing
- Fixes#1321 and #3412
* Added go-petstore-withXml changes suggested by circleci
* Add caution note about modifying configuration while live
* Enhance go api server with interfaces router binding and services
Enhance the default go api server generation to define interfaces for an API's routes and services. Handle an endpoint's http binding in the generated router and the skeleton for the service logic in an API service.
* Include interface documentation in Go Server generation.
* Add parameter
* Set default value as Parameter.explode could be null
* Fix typo
* Add a link to the spec
* Add tests
* Delete unused import
* Rename: shouldExplode -> isExplode
* Include the new property
antihax/optional#1 added module support, and was tagged as a stable
release. This change consumes that tag, and updates the psuedo-version
for golang.org/x/oauth2.
* [docs] Updating docsite outputs to be browsable on Github as well
* Fix links to other files
Suffix `.md` was needed to make links works
* [docs] Add clarification to differences between customization and templating docs
* [docs] Collapsible side bar, scroll to top, minor enhancements
* Adds options to skip client side validations
* Runs petstore.sh
* Correct typo in variable name
* Consistent code styling
* Rerun petstore.sh
* Change position of local_vars_configuration
* Make code pep8 compliant
This PR includes theses changes:
- Handling "optional" parameters is not optional anymore. Handling an additional parameter for it makes templates more complicated, and IMO, it is not worth it (as discussed in issue, it is an "acceptable" breaking change).
- Optional parameters are handled everywhere: path params, query params, form params... Generated sample code compiles (both hyper and reqwest libraries).
* Do not check status code for default response
* Updated generated code/docs
Because Circle CI said
> Please run 'bin/utils/ensure-up-to-date' locally and commit
> changes (UNCOMMITTED CHANGES ERROR)
* [go-experimental] export required fields without pointer, only omitempty if type is not required and not nullable
* fix: go-experimental sample code
* fix: export nullable field as pointer
* update samples
* feat: nullable types
* add getter/setter for required fields, improve docstring
* Updates the PR template to allow cleaner PR description workflow.
* Cleans up some of the language/descriptions in check items.
When a single commit PR is opened, GitHub will insert the commit message to the top of the PR template. Users who follow this flow previously needed to move this text to the bottom of the PR text, and remove the placeholder text. It's such common practice for github contributors to enter descriptions in PRs, we can omit the `Description` placeholder and be less prescriptive about where the description exists.
The openapi-generator-cli currently creates an invalid go.mod file,
according to the go1.13 compiler. This change uses the correct pseudo
version without upgrading or modifying either dependency. It also adds
several missing go.sum dependencies that will break when the toolchain
is run in -mod=readonly mode.
* [kotlin] add option for non public api
* [kotlin] update petstores
* [kotlin] add missing script to kotlin-client-all.sh
* [kotlin] update pet projects
* [kotlin] remove public modifier
* [kotlin-client] inline visibility modifier
* [CLI] Initial implementation for batch generation
Allows for generating multiple outputs via config. Just specify multiple
config files on command line.
Intent for this is to reduce CI times to generate outputs as well as to
reduce time for users to run ensure-up-to-date to meet PR standards.
Example command:
openapi-generator batch --includes-base-dir `pwd` --fail-fast -- bin/ci/*
---
As part of this implementation, the batch command support a customized
JSON key, `!include`. If this key's value refers to an existing file,
that file's contents are "unwrapped" into the config during
deserialization. This allows us to easily point to the same configs used
by our sample scripts without modifying the CLI generate task's switches
or assumptions.
* Allow for path-relative outputs
* Add batch JSON objects
* Include INFO log about threads used and includes/root
* Ensure GlobalSettings.reset()
* Improved thread-safety of ModelUtils
* [AVRO] Fix the package handling for the avro generator (#3987)
Also fix an issue with the outputFolder that wasn't overridable through opts
* Update sample files through avro-petstore.sh
There's an issue with inlined object but it's already present with the previous commit
* Revert the fix on outputFolder (not a bug)
* typescript-fetch: correct handling body as URLSearchParams
* typescript-fetch: run typescript-fetch-petstore-all.sh
* typescript-fetch: add URLSearchParams to globals
* feat: add companion object to data classes if the implement the interface java.io.Serializable
* style: format template file
* style: adapt to project's original code style
* fix: add missing imports
* style: reverted mustache template to original styling
* test: generate additional samples for kotlin-springboot-reactive and kotlin-springboot
* docs: name full qualified classname of interface java.io.Serializable to prevent confusion with kotlinx.serialization
* Add support for the `discriminator` feature of OpenAPI 3, and implement it with `enum` in Rust
* Add all missing explicit `dyn` to trait types to remove warnings
* Add missing re-export for properties that are enum (was missing from #2244).
* [typescript][node]: Add options to specify a from data file
Be able to specify file options as described on
https://github.com/request/request in the 'multipart/form-data
(Multipart Form Uploads)' section).
Related to #3944
Fix file return type
* [typescript][node]: Fix use of applyLocalTypeMapping
Previous call to applyLocalTypeMapping didn't had any effect.
* [typescript][node]: Update samples
* [PHP] Correctly format JSON in headers
`ObjectSerializer::toHeaderValue()` in the generated PHP code calls
`toString()` on the values, which formats JSON with the `JSON_PRETTY_PRINT`
option. This will result in a multi-line header which cannot be parsed
since linebreaks aren't allowed by RFC 7230.
In my case I have a header schema called `UpdateUser` which I had hoped
would be serialized as `{"type":"staff","id":123}`.
Every single `__toString()` in the generator does the same thing, so I
figured it's safe to change `toHeaderValue()` to convert to JSON directly,
without `JSON_PRETTY_PRINT`. This fix works for me.
* More sensible approach to providing a header value
* Just strip the newlines
* Go back to previous solution
This allows specifying a different formatString for parsing than for rendering, which is useful because padding widths are not supported in `parseTimeMSource`
* [typescript][node]: Add accept header if produces is not empty
Uses the correct Accept media types as specified in the OpenApi
specifications.
Related to #3944
* Update samples files
* [typescript][node]: Give presedence to 'application/json'
The endpoint may support multiple formats, e.g. 'application/xml',
'application/json'. However, we don't really support xml. In this case
only accept 'application/json'.
* Clean up samples directory before fixing tests
- removed from samples/client/petstore/dart2 :
- purge_test.sh (doesn't seem to be used and not helpful)
- openapi folder (is to be re-generated with more meaningful name)
- updated dart2-petstore.sh to generate client library with new name
- used updated shell script to re-generate client library
- updated CI/.drone.yml to use the new client library for tests
* Update petstore tests to use faked http client
- skipped all of the tests that hit a live endpoint
- made a fake http client that can be set to check for expected values
and/or return a provided response
- added some files with test data recorded from live api calls
- updated the README to reflect changes to tests
* Update .drone.yml so CI will run the tests
* feat: allow creation of kotlin data classes that implement java.io.Serializable, by adding the config option serializableModel=(true|false)
* docs: add markdown docu for new configOption serializableModel
* fix: do not use parcelize in script
* update kotlin samples
* add the option, update the doc
* [jaxrs-spec] add quarkus application server
* [jaxrs-spec] add thorntail
* [jaxrs-spec] add openliberty
* [quarkus] update to 0.20.0
* Add helidon
* Update quarkus version
* Update quarkus to 0.22.0
* Update documentation
* Force "useSwaggerAnnotations" to be false when quarkus, thorntail,
openliberty or helidon are used
The Kotlin Multiplatform client introduced an bug that rendered variable
names that were also Kotlin reserved words incorrectly. This change reverts
the template to use the previous mechanism for rendering variable names.
https://github.com/OpenAPITools/openapi-generator/issues/3992
* [C++][Pistache] Simplified model template
* [C++][Pistache] Fix for addExternalLibs option
CMake would fail with addExternalLibs set to false
since it'd try to add depenency to not-existing targets
* [C++][Pistache] Update cpp-pistache-server-petstore.sh
* [C++][Pistache] Update Petstore sample
* [C++][Pistache] Update documentation
As we discovered in #3463, there are various bits of the rust client generator that are currently untested. This PR adds tests for various generator-specific types, and also files.
Follows the example of the rust-server generator for making it easy to add new test specs. This should make it easier for future contributors to make sure that their contributions are tested
* Python-experimental adds model_utils module, refactors python api class
* Fixes python-experimental so the sample sare generated in the petstore_api folder
* FIxes python samples tests
* Updates python and python-experimental tests
* Fixes python-experimental tests
* Adds newlines back to python templates + samples
* Reverts files with newline tweaks back to master branch versions
* Fixes indentation errors in python-experimental api_client
* Removes unused files
* Python files now generated in correct folders
* Adds logging when the user tries to set generateAliasAsModel in python-experimental
* Fixes typo
* typescript-fetch: to be able to handle application/x-www-form-urlencoded content
* typescript-fetch: run typescript-fetch-petstore-all.sh
* typescript-fetch: add test's dist dir
* typescript-fetch: delete Specified Content-Type header
* [spring] Resolve regression on RequestParam for non-objects
* Regenerate Go client samples
* Include testcase for issue 3248
* Set isModel appropriately for referenced schemas
* basic asciidoc markup generation
* asciidoc markup include processing with mustache filter
* asciidoc tests, separate include filters
* asciidoc petstore sample
* add asciidoc generator to readme
* test asciidoc generator for all include files with own json spec.
* link fillter to link generated test data into asciidoc markup
* fix and cleanup names asciidoc tests.
* fix travis build error, removed windows line endings from mustache asciiidoc templates.
* asciidoc generator: comment and reduce visibility of helper method (fix dron build)
* asciidoc: windows linefeed again (fix travis ci)
* asciidoc generator: remove \t and format again.
* fix ascidoc generator ci builds ... ongoing..
* asciidoc: add generator .md files, unix line ending.
* First version of Nim Client
* Add some codes
* Add some codes
* Add some codes
* Add some codes
* Add some codes
* First version of Nim Client
* Add some codes
* Add some codes
* [Dart] Fix README template and update testing doco (#3809)
* [Dart] Fix README template and update testing doco
- deleted redundant shell script
- fixed and updated README template
- updated test package and moved to a dev_dependency
- removed old unused dev_dependency packages
- updated testing documentation in petstore sample
* Remove references to dart-flutter-petstore.sh
* Fix typos
* Fix typo
* Support custom git repository (#3757)
* add gitHost param to GeneratorSettings and related
* parameterize gitHost in READMEs
* parameterize gitHost in go.mod
* parameterize gitHost in git_push
* update petstore samples
* run ./bin/utils/export_docs_generators.sh
* run meta-codehen.sh
* Revert "run meta-codehen.sh"
This reverts commit d6d579f615.
* Revert "run ./bin/utils/export_docs_generators.sh"
This reverts commit 1b81538198.
* Revert "update petstore samples"
This reverts commit f513add883.
* run ensure-up-to-date
* Add links to article and video (#3820)
* Better Go code format (#3819)
* better varible naming
* better comments
* better code format for go experimental client
* better comment, update samples
* Add some codes
* Add some codes
* Add some codes
* Add gRPC Protobuf schema generator (#3818)
* add grpc protobuf generator
* update doc
* add new doc
* add windows batch, comment out root proto
* 1792 fix remote spec handling and hash calculation (#3440)
* fixed bug where nullApi.java would be generated. Instead, generated DefaultApi.java to match the default path /{pathParam} (#3821)
* Revert "1792 fix remote spec handling and hash calculation (#3440)"
This reverts commit 2a2eefe93d.
* Add nickmeinhold to Dart technical committee (#3830)
* Bug #2845 typescript angular inheritance (#3812)
* issue #2845: enable 'supportsMultipleInheritance' on typescript angular client codegen
- note I reran ./bin/openapi3/typescript-angular-petstore-all.sh and no changes occurred.
this suggests to me that the petstore.yaml sample should be improved to make use of the
anyOf / allOf / oneOf keywords, in order to better show the effects of changes on generated code.
* issue #2845: run ./bin/openapi3/typescript-angular-petstore-all.sh
* run `mvn clean package && ./bin/typescript-angular-petstore-all.sh`
* revert extranous files
* fix warnings in csharp-netcore client (#3831)
* Add missing files to the form request (#3834)
* [client][go] avoid duplicated reflect imports (#3847)
* Following up for #3440 (1792 fix remote spec handling and hash calculation) (#3826)
* This patch fixes the bug that we cannot access to remote files when checking file updates.
Following up #3440, supporting auth.
* 1792 fix remote spec handling and hash calculation (#3440)
(cherry picked from commit 2a2eefe93d)
* fix detecting remote file / local file logic while finding the hash file, taking care of IllegalArgumentException for local files.
* add testcase
* Add a link (#3850)
* Add Element AI to the list (#3856)
* maven-plugin-plugin 3.6.0 (#3854)
* [Java][okhttp-gson] fix failure to deserialize floats (#3846)
* fixed bug where nullApi.java would be generated. Instead, generated DefaultApi.java to match the default path /{pathParam}
* fix to bug #3157
* update samples
* Adds Http Info To Dart Api (#3851)
* [C++][Pistache] Add missing setter for arrays (#3837)
* [C++][Pistache] Add missing setter for arrays
Fixes#3769
* [C++][Pistache] Update Petstore sample
* typescript-inversify: improve check for required parameters, support multiple media types (#3849)
* [typescript-inversify] Allow falsy parameters
A required parameter to an api method must not be `null` or `undefined`.
It can be any other falsy value, e.g. `""`, `0` or `false` though. This
change makes sure an error is only thrown in the former case and not in
the latter.
* [typescript-inversify] Handle multiple media types
The Accept and Content-Type HTTP headers can contain a list of media
types. Previously all but the first media type in the api definition
were ignored. Now the headers are properly generated.
* [typescript-inversify] Fix http client interface
The api service methods allow the `body` parameter to be optional. The
parameter is then passed to an `IHttpClient`. So it needs to be optional
there as well.
Also fixed the sample implementation `HttpClient`.
Fixes#3618.
* [typescript-inversify] Regenerate Petstore sample
* [typescript-inversify] Use more explicit null check
This does not change the semantic of the generated code, but makes it more explicit.
Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>
* [typescript-angular] allow empty string basePath (#3489)
* [typescript-angular] Fixing #2731 - empty string basePath
* typescript-angular: refactor base path configuration
* typescript-angular: refactor base path configuration
* Fix/r/serialization fix and minor 3xx resp fix (#3817)
* fix(qlik): fix for minor serialization bug
* fix(r): add petsore generated classes
* fix(r): indendation fixes
* typescript-axios: Fix baseoptions (#3866)
* Fixed missing baseOptions of typescript-axios.
The typescript-axios template was missing the baseOptions setting when building an API Configuration. Set it.
* update sample.
* re-generate typescript axios samples
* Rename gRPC generator to "protobuf-schema" (#3864)
* rename grpc generator to protobuf-schema
* update doc
* Prepare v4.1.2 release (#3873)
* update samples
* update date
* fix version in readme
* BugFix #2053 Spring Boot fails to parse LocalDate query parameter (#3860)
Adds the format annotation so that Spring is able to serialize OpenApi date/date-time format into LocalDate/OffsetDateTime.
* update doc, samples (#3875)
* update stable release
* Update the batch for Windows
* Add a test snippet
* Update ensure-up-to-date
* Add Nim to README.md
* Ran ensure-up-to-date to pass CircleCI tests
* [scala][client] add Scala reserved words test
* fix filesystem path in [ScalaAkkaClientCodegenTest]
* add additional reserved words in scala_reserved_words.yaml
* ScalaAkkaClientCodegenTest: set mainPackage
* scala_reserved_words.yaml: declare 'required' fields
* rename test method
* tweak test description
* Fixed missing baseOptions of typescript-axios.
The typescript-axios template was missing the baseOptions setting when building an API Configuration. Set it.
* update sample.
* re-generate typescript axios samples
* [typescript-inversify] Allow falsy parameters
A required parameter to an api method must not be `null` or `undefined`.
It can be any other falsy value, e.g. `""`, `0` or `false` though. This
change makes sure an error is only thrown in the former case and not in
the latter.
* [typescript-inversify] Handle multiple media types
The Accept and Content-Type HTTP headers can contain a list of media
types. Previously all but the first media type in the api definition
were ignored. Now the headers are properly generated.
* [typescript-inversify] Fix http client interface
The api service methods allow the `body` parameter to be optional. The
parameter is then passed to an `IHttpClient`. So it needs to be optional
there as well.
Also fixed the sample implementation `HttpClient`.
Fixes#3618.
* [typescript-inversify] Regenerate Petstore sample
* [typescript-inversify] Use more explicit null check
This does not change the semantic of the generated code, but makes it more explicit.
Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com>
* fixed bug where nullApi.java would be generated. Instead, generated DefaultApi.java to match the default path /{pathParam}
* fix to bug #3157
* update samples
* This patch fixes the bug that we cannot access to remote files when checking file updates.
Following up #3440, supporting auth.
* 1792 fix remote spec handling and hash calculation (#3440)
(cherry picked from commit 2a2eefe93d)
* fix detecting remote file / local file logic while finding the hash file, taking care of IllegalArgumentException for local files.
* add testcase
* issue #2845: enable 'supportsMultipleInheritance' on typescript angular client codegen
- note I reran ./bin/openapi3/typescript-angular-petstore-all.sh and no changes occurred.
this suggests to me that the petstore.yaml sample should be improved to make use of the
anyOf / allOf / oneOf keywords, in order to better show the effects of changes on generated code.
* issue #2845: run ./bin/openapi3/typescript-angular-petstore-all.sh
* run `mvn clean package && ./bin/typescript-angular-petstore-all.sh`
* revert extranous files
* don't overwrite a custom set templateDir when using dart 2.x
* remove old dartson code which lead to compile time errors
* * fix decoding JSON to dart enums
* fix decoding a map with a list of some objects as value since the complexType is a List and List.mapFromJson doesn't exist.
* * add explanation for mapListFromJson
* fix file permissions
Whilst the spec states that the 'allOf' relationship does not imply a hierarchy:
> While composition offers model extensibility, it does not imply a hierarchy between the models.
> To support polymorphism, the OpenAPI Specification adds the discriminator field.
Unfortunately this does not make sense for many existing use cases, that were supported by older
versions of the generator. Therefore, I've restored the older behavior, specifically
in the case that only a single possible parent schema is present.
I think a more complete solution would generate interfaces for the composed schemas,
and mark the generated class as implementing these.
fixes issue 2845, and fixes issue #3523
Depending on the template parameters some imports may not get used -
this causes a typescript compiler error that must be manually fixed.
Signed-off-by: Silas Davis <silas@monax.io>
* Fixes NPE when no outputDir is set
* Fix behaviors of default values for values not provided by user
* Easier handling of default behavior in settings.
* Fixes for dynamic config deserialization (specifically, ruby client sample fix)
* Tests for WorkflowSettings (defaults, modified defaults, nulls)
* Test modification of WorkflowSettings defaults for both class constructor and builder
* move tests to drone.io
* ls dir
* debug
* use bash
* use jdk 11 image
* move tests to drone.io
* use maven wrapper
* comment out scripts in circleci
* update dart samples
* remove commented tests
* update dart samples
* two tiny fixes:
1.) ApiClient already defines and configures an objectMapper to not fail on unknown properties, but it is not used when parsing the response. The fix uses the pre-configured object mapper instead of the vertx default one
2.) When an operation has no response (or just ones without content), the accept array passed to ApiClient is emtpy. This makes the null check in ApiClient useless, as it still tries to set a null Accept header, which is refused with an NPE. Amend the check with .length > 0 to catch this case.
* update generated client as required by contributor guidelines
* Move dart null checks inside mustache type checks
- removed surrounding null check
- added a conditional expression to each case except the redundant one
* Run shell scripts so CIs can verify the change
Prefix generated request interface names with API classname rather than
using namespaces, because namespaces are not well-supported by some
tooling (in particular, Babel).
<!-- Enter details of the change here. Include additional tests that have been done, reference to the issue for tracking, etc. -->
<!-- Please check the completed items below -->
### PR checklist
- [ ] 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`, `./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\`. If contributing template-only or documentation-only changes which will change sample output, be sure to [build the project](https://github.com/OpenAPITools/openapi-generator#14---build-projects) first.
- [ ]Filed the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master`, `4.1.x`, `5.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.
### Description of the PR
(details of the change, additional tests that have been done, reference to the issue for tracking, etc)
- [ ] 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) before.
- [ ]Run the shell script(s) under `./bin/` (or Windows batch scripts under`.\bin\windows`) to update Petstore samples related to your fix. This is important, as CI jobs will verify _all_ generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run `./bin/{LANG}-petstore.sh`, `./bin/openapi3/{LANG}-petstore.sh` if updating the code or mustache templates for a language (`{LANG}`) (e.g. php, ruby, python, etc).
- [ ]File the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master`, `4.3.x`, `5.0.x`. Default: `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.
# Add bats test framework and cURL for Bash script integration tests
#- sudo add-apt-repository ppa:duggan/bats --yes
#- sudo apt-get update -qq
#- sudo apt-get install -qq bats
#- sudo apt-get install -qq curl
- sudo add-apt-repository ppa:duggan/bats --yes
- sudo apt-get update -qq
- sudo apt-get install -qq bats
- sudo apt-get install -qq curl
# install dart
#- sudo apt-get update
#- sudo apt-get install apt-transport-https
@@ -94,13 +94,11 @@ before_install:
# - Rely on `kerl` for [pre-compiled versions available](https://docs.travis-ci.com/user/languages/erlang#Choosing-OTP-releases-to-test-against). Rely on installation path chosen by [`travis-erlang-builder`](https://github.com/travis-ci/travis-erlang-builder/blob/e6d016b1a91ca7ecac5a5a46395bde917ea13d36/bin/compile#L18).
@@ -85,7 +85,7 @@ 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 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)
- Update the Petstore sample by running the shell scripts under `bin` and `bin/openapi3` folder. For example, run `./bin/python-petstore.sh` and `./bin/openapi3/python-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)
5.0.0 (upcoming major release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/5.0.0-SNAPSHOT/)| 13.05.2020 | Major release with breaking changes (no fallback)
4.2.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/4.2.0-SNAPSHOT/)| 09.10.2019 | Minor release (breaking changes with fallbacks)
[4.1.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v4.1.0) (latest stable release) | 09.08.2019 | Minor release (breaking changes with fallbacks)
4.3.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/4.3.0-SNAPSHOT/)| 29.02.2020 | Minor release (breaking changes with fallbacks)
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.
(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`)
<!-- RELEASE_VERSION -->
You can also download the JAR (latest release) directly from [maven.org](http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/4.1.0/openapi-generator-cli-4.1.0.jar)
You can also download the JAR (latest release) directly from [maven.org](http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/4.2.1/openapi-generator-cli-4.2.1.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`
@@ -543,45 +548,85 @@ The OpenAPI Generator project is intended as a benefit for users of the Open API
* Generated code is intentionally _not_ subject to the parent project license
When code is generated from this project, it shall be considered **AS IS** and owned by the user of the software. There are no warranties--expressed or implied--for generated code. You can do what you wish with it, and once generated, the code is your responsibility and subject to the licensing terms that you deem appropriate.
### [3.5 - IDE Integration](#table-of-contents)
Here is a list of community-conitributed IDE plug-ins that integrate with OpenAPI Generator:
- Eclipse: [Codewind OpenAPI Tools for Eclipse](https://www.eclipse.org/codewind/open-api-tools-for-eclipse.html) by [IBM](https://www.ibm.com)
- IntelliJ IDEA: [OpenAPI Generator](https://plugins.jetbrains.com/plugin/8433-openapi-generator) by [Jim Schubert](https://jimschubert.us/#/)
- IntelliJ IDEA: [Senya Editor](https://plugins.jetbrains.com/plugin/10690-senya-editor) by [senya.io](https://senya.io)
- [RepreZen API Studio](https://www.reprezen.com/)
- Visual Studio: [REST API Client Code Generator](https://marketplace.visualstudio.com/items?itemName=ChristianResmaHelle.ApiClientCodeGenerator) by [Christian Resma Helle](https://christian-helle.blogspot.com/)
- Visual Studio Code: [Codewind OpenAPI Tools](https://marketplace.visualstudio.com/items?itemName=IBM.codewind-openapi-tools) by [IBM](https://marketplace.visualstudio.com/publishers/IBM)
## [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.
- 2019-07-14 - [OpenAPI GeneratorでPythonのクライアントライブラリを作成した](https://qiita.com/yuji38kwmt/items/dfb929316a1335a161c0) by [yuji38kwmt](https://qiita.com/yuji38kwmt)
- 2019-07-19 - [Developer Experience (DX) for Open-Source Projects: How to Engage Developers and Build a Growing Developer Community](https://speakerdeck.com/wing328/developer-experience-dx-for-open-source-projects-english-japanese) by [William Cheng](https://twitter.com/wing328), [中野暁人](https://github.com/ackintosh) at [Open Source Summit Japan 2019](https://events.linuxfoundation.org/events/open-source-summit-japan-2019/)
- 2019-08-14 - [Our OpenAPI journey with Standardizing SDKs](https://bitmovin.com/our-openapi-journey-with-standardizing-sdks/) by [Sebastian Burgstaller](https://bitmovin.com/author/sburgstaller/) at [Bitmovin](https://www.bitmovin.com)
- 2019-08-15 - [APIのコードを自動生成させたいだけならgRPCでなくてもよくない?](https://www.m3tech.blog/entry/2019/08/15/110000) by [M3, Inc.](https://corporate.m3.com/)
- 2019-08-22 - [マイクロサービスにおけるWeb APIスキーマの管理─ GraphQL、gRPC、OpenAPIの特徴と使いどころ](https://employment.en-japan.com/engineerhub/entry/2019/08/22/103000) by [@ota42y](https://twitter.com/ota42y)
- 2019-08-24 - [SwaggerドキュメントからOpenAPI Generatorを使ってモックサーバー作成](https://qiita.com/masayoshi0222/items/4845e4c715d04587c104) by [坂本正義](https://qiita.com/masayoshi0222)
- 2019-08-29 - [OpenAPI初探](https://cloud.tencent.com/developer/article/1495986) by [peakxie](https://cloud.tencent.com/developer/user/1113152) at [腾讯云社区](https://cloud.tencent.com/developer)
- 2019-08-29 - [全面进化:Kubernetes CRD 1.16 GA前瞻](https://www.servicemesher.com/blog/kubernetes-1.16-crd-ga-preview/) by [Min Kim](https://github.com/yue9944882) at [ServiceMesher Blog](https://www.servicemesher.com/blog/)
- 2019-09-01 - [Creating a PHP-Slim server using OpenAPI (Youtube video)](https://www.youtube.com/watch?v=5cJtbIrsYkg) by [Daniel Persson](https://www.youtube.com/channel/UCnG-TN23lswO6QbvWhMtxpA)
- 2019-09-06 - [Vert.x and OpenAPI](https://wissel.net/blog/2019/09/vertx-and-openapi.html) by [Stephan H Wissel](https://twitter.com/notessensei) at [wissel.net blog](https://wissel.net)
- 2019-09-09 - [Cloud-native development - Creating RESTful microservices](https://cloud.ibm.com/docs/cloud-native?topic=cloud-native-rest-api) in [IBM Cloud Docs](https://cloud.ibm.com/docs)
- 2019-09-14 - [Generating and Configuring a Mastercard API Client](https://developer.mastercard.com/platform/documentation/generating-and-configuring-a-mastercard-api-client/) at [Mastercard Developers Platform](https://developer.mastercard.com/platform/documentation/)
- 2019-09-15 - [OpenAPI(Swagger)導入下調べ](https://qiita.com/ShoichiKuraoka/items/f1f7a3c2376f7cd9c56a) by [Shoichi Kuraoka](https://qiita.com/ShoichiKuraoka)
- 2019-09-17 - [Tutorial: Documenting http4k APIs with OpenApi3](https://www.http4k.org/tutorials/documenting_apis_with_openapi/) by [http4k](https://www.http4k.org/)
- 2019-09-22 - [OpenAPI 3を完全に理解できる本](https://booth.pm/ja/items/1571902) by [@ota42y](https://twitter.com/ota42y)
- 2019-09-22 - [RESTful APIs: Tutorial of OpenAPI Specification](https://medium.com/@amirm.lavasani/restful-apis-tutorial-of-openapi-specification-eeada0e3901d) by [Amir Lavasani](https://medium.com/@amirm.lavasani)
- 2019-09-22 - [Redefining SDKs as software diversity kits](https://devrel.net/dev-rel/redefining-sdks-as-software-diversity-kits) by [Sid Maestre (Xero)](https://twitter.com/sidneyallen) at [DevRelCon San Francisco 2019](https://sf2019.devrel.net/)
- 2019-09-23 - [swaggerからOpenApi GeneratorでSpringのコードを自動生成](https://qiita.com/littleFeet/items/492df2ad68a0799a5e5e) by [@littleFeet](https://qiita.com/littleFeet) at [Qiita](https://qiita.com/)
- 2019-09-24 - [Eine Stunde was mit Api First!](https://www.slideshare.net/JanWeinschenker/eine-stunde-was-mit-api-first) by [@janweinschenker](https://twitter.com/janweinschenker) at [Java Forum Nord](https://javaforumnord.de/)
- 2019-10-09 - [openapi-generator で生成した Go クライアントで Bearer 認証をする](https://autopp-tech.hatenablog.com/entry/2019/10/09/222039) by [Akira Tanimura](https://github.com/autopp)
- 2019-10-10 - [Automatic Generation of REST Clients](https://www.meetup.com/fr-FR/Criteo-Labs-Tech-Talks/events/264775768/) by Thomas Peyrard, Senior Software Engineer at Criteo in [Full-Stack Tech Talks (Meetup)](https://www.meetup.com/fr-FR/Criteo-Labs-Tech-Talks/events/264775768/)
- 2019-10-12 - [OpenApi自动生成client](https://blog.csdn.net/wxid2798226/article/details/102527467) by [郑泽洲](https://me.csdn.net/wxid2798226)
- 2019-10-16 - [How to ship APIs faster?](https://medium.com/@accounts_76224/how-to-ship-apis-faster-cabef2f819e4) by [Simon Guilliams @ PoniCode](https://ponicode.dev)
- 2019-10-22 - [OpenAPI + Spring Boot(Kotlin)でファイルダウンロードAPIを作成する](https://qiita.com/boronngo/items/4b78b92526209daeaee9) by [Yuki Furukawa](https://twitter.com/yuki_furukawa5)
- 2019-10-24 - [Microprofile OpenAPI - Code First or Design First?](https://github.com/pe-st/apidocs/blob/master/MicroProfile-OpenAPI-all-slides.pdf) by [Peter [pɛʃə] Steiner](https://twitter.com/pesche) at [eclipsecon Europe 2019](https://www.eclipsecon.org/europe2019/sessions/microprofile-openapi-code-first-or-design-first)
- 2019-11-06 - [Generating API clients based on OpenAPI v3 specifications](https://98elements.com/blog/generating-api-clients-based-on-openapi-v3-specifications) by [Dominik Jastrzębski @ 98elements](https://98elements.com)
- 2019-11-06 - [OpenAPIを利用して自前のAPIサーバー(Sinatra)を移植した時のメモ](https://qiita.com/YasuhiroABE/items/c73920eab2d9d6e97fd9) by [Yasuhiro ABE](https://twitter.com/YasuhiroABE)
- 2019-11-07 - [API First development with OpenAPI - You should you practise it !?](https://www.youtube.com/watch?v=F9iF3a1Z8Y8) by [Nick Van Hoof](https://www.nickvanhoof.com/) at [Devoxx Belgium 2019](https://devoxx.be/)
- 2019-11-08 - [JHipster beyond CRUD - API-First for Enterprises by Enrico Costanzi](https://www.youtube.com/watch?v=m28JFovKQ20) by [Enrico Costanzi](https://twitter.com/enricocostanzi) at [JHipster Conf 2019 in Paris](https://jhipster-conf.github.io/)
- 2019-11-11 - [TypeScript REST APIクライアント](https://qiita.com/unhurried/items/7b74f7d3c43545dadd2b) by [@unhurried](https://qiita.com/unhurried)
- 2019-11-11 - [One Spec to Rule them all - OpenAPI in Action](https://www.youtube.com/watch?v=MMay_nht8ec) by [Andreas Litt](https://github.com/littldr) at [code.talks 2019](https://www.codetalks.com/)
- 2019-11-17 - [OpenAPI Generator YouTube playlist](https://www.youtube.com/playlist?list=PLtJyHVMdzfF6fBkOUV5VDVErP23CGgHIy) at [YouTube](https://www.youtube.com)
- 2019-11-20 - [Introduction to OpenAPI](https://noti.st/lornajane/HvDH7U/introduction-to-openapi) by [Lorna Mitchell](https://twitter.com/lornajane) at [GOTO Copenhagen 2019](https://gotocph.com/2019/)
- 2019/11/23 - [Swagger ではない OpenAPI Specification 3.0 による API サーバー開発](https://www.slideshare.net/techblogyahoo/swagger-openapi-specification-30-api) by [Tetsuya Morimoto](https://github.com/t2y) at [JJUG CCC 2019 Fall](https://ccc2019fall.java-users.jp/)
- 2019-11-25 - [openapi-generatorで手軽にスタブサーバとクライアントの生成](https://qiita.com/pochopocho13/items/8db662e1934fb2b408b8) by [@pochopocho13](https://twitter.com/pochopocho13)
- 2019-11-26 - [CordaCon 2019 Highlights: Braid Server and OpenAPI Generator for Corda Client API’s](https://blog.b9lab.com/cordacon-2019-highlights-braid-server-and-openapi-generator-for-corda-flows-api-s-d24179ccb27c) by [Adel Rustum](https://blog.b9lab.com/@adelrestom) at [B9lab](https://blog.b9lab.com/)
## [6 - About Us](#table-of-contents)
@@ -663,6 +742,7 @@ Here is a list of template creators:
* Dart (refactor): @joernahrens
* Dart 2: @swipesight
* Dart (Jaguar): @jaumard
* Dart (Dio): @athornz
* Elixir: @niku
* Elm: @eriktim
* Eiffel: @jvelilla
@@ -689,7 +769,9 @@ Here is a list of template creators:
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.