* Bump the minimum version of Elixir supported
The previous minimum version of Elixir is several years EOL.
The current minimum version of Elixir is also EOL, but is the minimum
version required to support some upcoming changes to the config
templates.
* Bump the minimum version fo Tesla
Keep the dependencies up to date
* Add a default .formatter.exs
* Add two Elixir-specific mustache lambdas
- The `atom` lambda results in the proper quoting of an atom depending
on the safe contents of the atom text, per the Elixir language
specification. That is, `{{#atom}}foo{{/atom}}` will be turned into
`:foo` and `{{#atom}foo.bar{{/atom}}` will be turned into
`:"foo.bar"`.
- The `env_var` lambda results in the treatment of the identifier
provided being capitalized as an environment variable would be.
`{{#env_var}}apiVersion{{/env_var}}` would become `ENV_VAR`.
* Use modern Elixir configuration
- This includes runtime configuration
- It depends on the `env_var` lambda.
* Fix a Language Server Warning
This change is *optional*, but removes a LS warning that was raised.
* Regenerated openapi_petstore for Elixir
* Add ex_doc as a default dependency
Fixes#12484
* Refine the regular expression for atoms
The original regex incorrectly matched `123Number` (unquoted atoms
cannot begin with numbers) and would incorrectly quote atoms ending in
`?` or `!`. Through testing with `iex`, it also turns out that the atom
`:-` is legal.
The following atoms will now not be quoted that would have been
incorrectly quoted:
- `:-`
- `:declawed?`
- `:neutered!`
The following atoms will be quoted that were incorrectly unquoted:
- `:"123Number"`
* Improve regex (again), remove files not generated
- The previous commit resulted in a number of warnings that were still
present and so I played with the regular expression. This did not
solve the problem, but the resulting regular expression is *much*
better than the previous one, so I'm keeping it.
- The problem was that the configuration (`bin/configs/elixir.yaml`) is
generated using a 3.0 input spec:
```yaml
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml
```
Which means that there were 16 files committed which were no longer
being generated. When I tested with the 2.0 input spec:
```yaml
inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml
```
The files were generated again. I *believe* that the correct change
here is to switch back to the 2.0 input spec, as it tests more code
generation, but I wanted to check in before I did this.
The following files are deleted:
- `elixir/lib/openapi_petstore/model/additional_properties_any_type.ex`
- `elixir/lib/openapi_petstore/model/additional_properties_array.ex`
- `elixir/lib/openapi_petstore/model/additional_properties_boolean.ex`
- `elixir/lib/openapi_petstore/model/additional_properties_integer.ex`
- `elixir/lib/openapi_petstore/model/additional_properties_number.ex`
- `elixir/lib/openapi_petstore/model/additional_properties_object.ex`
- `elixir/lib/openapi_petstore/model/additional_properties_string.ex`
- `elixir/lib/openapi_petstore/model/big_cat.ex`
- `elixir/lib/openapi_petstore/model/big_cat_all_of.ex`
- `elixir/lib/openapi_petstore/model/inline_response_default.ex`
- `elixir/lib/openapi_petstore/model/special_model_name.ex`
- `elixir/lib/openapi_petstore/model/type_holder_default.ex`
- `elixir/lib/openapi_petstore/model/type_holder_example.ex`
- `elixir/lib/openapi_petstore/model/xml_item.ex`
- `elixir/pom.xml`
- `elixir/test/pet_test.exs`
In the interim, I have removed those files from the commit.
* Adds draft6 tests and python file reader
* Adds processing of multiple files
* Moves test examples into a different component so component schemas can be booleans
* Excludes boolean schema cases and some others that contain patternProperties
* Adds automatic test generation, template not quite working with indentation
* Turns on allOf tests, some failing
* Adds more generated components and tests
* Adds enum tests
* Turns on all of themissing tests
* Adds exclmax and min exclusion reasons
* Adds items test cases
* Adds maximum
* Adds maxItems
* Adds maxLength
* Adds maxProperties
* Adds minimum
* Adds minItems
* Adds minLength
* Adds minProperties
* Adds multipleOf
* Adds not
* Adds oneOf
* Adds pattern
* Adds patternProperties
* Working on properties examples, partial fix for escaped characters
* Further improves example string escaping
* Fixes properties test cases
* Adds draft6 test samples license
* Adds ref
* Finishes ref
* Adds remoteRef
* Adds required
* Improves required testing
* Fixes build error / javadoc warning
* Fixes uniqueItems bug in python-experimental
* Turns all tests back on
* Fixes 2 failing tests, all python tests pass
* Fixes java npe errors
* Fixes formatting of tests, indentation fixed
* Test fase name fixed to toTestCaseName, docstring added to ObjectWithTypeBooleans
* Fixes typo
* Adds test deletion to samples generation, samples regenerated
* Updates python-exp unit test sample, includes new ref examples
* Idea plugin for marking source directories, and omitting gradle wrapper for creating sub projects
* Register the omitGradleWrapper option
* Added missing idea option
* use rlang as exception in the petstore test
* add errorObject support
* fix method name, use ModelApiRespeonse
* update samples
* update doc
* fix api exception
* Make it possible to opt out of JSONEncodable conformance
JSONEncodable is not a native type and does not exist if only models are generated.
* Match file indentation level
* Upgrade virtualan-plugin to 2.5.1
* Generate samples
* Upgrade virtualan sample to springdoc
* Generate Samples
* Add samples/server/petstore/springboot-virtualan to ci run
* Upgrade virtualan-plugin to 2.5.2
* Generate samples
* Add virtualan.version to spring-boot-3 pom.xml, upgrade to 2.5.2
* Replace @ character so we can use Hydra Jsonld models. This fixes
duplicate @id id properties in models.
* Invalid test method
* Fix tests
* Fix tests 2
Co-authored-by: Daniel Karso <daniel.karso@worldstream.com>
* Support DateTime parsing
I've got issue in parsing an Array of Strings in datetime format, which the generator translates into a List<DateTime>.
This just fixes it
* update dart sampels
Co-authored-by: William Cheng <wing328hk@gmail.com>
* [Java/Spring] add missing key parameter to put-item method call of super class (#12494)
* [Java/Spring] add test for missing key parameter to put-item method call of super class (#12494)
* I feel the issue is due to the creation of self._var_name_to_model_instances while doing the deserialization of the data.
Earlier the Python SDK code was using get_var_name_to_model_instances function which was adding var name to model instances that contain it. So <class 'openapi_client.model.stream_options_all_of'> will not part of mapping in self._var_name_to_model_instances for variable name stream_options.
Now with the latest Python SDK code following is the way through which var_name_to_model_instances is created:
for prop_name in model_args:
if prop_name not in discarded_args:
var_name_to_model_instances[prop_name] = [self] + composed_instances
Now as we can see that the var_name_to_model_instances is populated with self and composed_instance which will also contain stream_options_all_of as a composed instance and there will be no check that if stream_options is present in composed_instances or not.
As there is no attribute_mapping found for stream_options in stream_options_all_of, the type for stream_options will be treated as dict for mapping stream_options_all_of as mentioned by @Chekov2k.
So what I suggest is the following code:
for prop_name in model_args:
if prop_name not in discarded_args:
var_name_to_model_instances[prop_name] = [self] + list(
filter(
lambda x: prop_name in x.openapi_types, composed_instances))
This way we can check if the property name is present in that composed instance or not. If it's okay for @spacether I can raise a PR for this.
* [get_item_all_of_bug]
Added samples, test cases to validate all_of schema.
* [getiem_all_of_bug]
Updated docs and samples.
* [getiem_all_of_bug]
Updated test cases, docs and samples.
* + support for enum models & separating mustache templates for enums and generics
+ extract property 'type' and 'default value' from a #ref to an enum model
+ support for `PascalCase` naming convention for PHP generators
+ use a default value for known basic types when they are not nullable
+ use 'null' as default value for nullable types when they do not specify the default value
+ use defined constant path as enum default value when found
* + sample output update
* + change model fields to be public and acessible from outside
* + sample output update
Co-authored-by: Mostafa Aghajani <mostafa.aghajani@virta.global>
* [ocaml] Open Lwt.Infix rather than Lwt
The Lwt module has functions that might shadow parameters, and all the
functions we use from Lwt are in Lwt.Infix too.
File "src/apis/image_api.ml", line 13, characters 69-72:
13 | let uri = Request.maybe_add_query_param uri "all" string_of_bool all in
^^^
Error: This expression has type 'a t list -> 'a list t
but an expression was expected of type bool option
* [ocaml] update petstore samples
* [core] Fix naming of reservedWordsMappings
* `GeneratorSettings` used a wrong name (missing `s`) which resulted in config loaded from YAMl files not working
* [dart] Respect reservedWordsMappings when checking for reserved words
This are small (but visually nice) improvements:
- Add colors: 200 = green, 300 = blue, 400 = red
- Add an example per parameter for better understanding
* better support for inline schema in parameters
* fix parameter model type
* add new method for model
* minor update
* fix isModelWithProperties
* fix is model check
* null check for properties
* inline parameter enhance with python-experimental fix [WIP] (#12397)
* Uses unaliasSchema rather than ModelUtils.getReferencedSchema
* Fixes python-experimental, delays param schema setting
* Samples regenerated
* Adds parameterModelName setting back in
* Samples regenerated
* removes needToSetSchema
* Sets schema differently depending on if inline model resolver is used
* Adds step for getting ref schema
* Samples regen
* fix test
* bug fix for rust generator
Co-authored-by: Justin Black <spacether@users.noreply.github.com>
* Fix ConfigurableAuthorization package name import to come from configuration
* Fix Micronaut @Consumes and @Produces annotations, allow multiple content types
* Fix security schemes rendering and Micronaut @Authentication pairing with application settings when special characters are present
* Updated samples
* Code review feedback
* Add xml to dependencies and fix tests
Co-authored-by: Andriy Dmytruk <andriy.dmytruk@oracle.com>
* Add the applicationName parameter to support generation of multiple clients
* Change indentation in application.yml to double-space
* Update swagger annotations version, and option to choose not to generate the annotations
* Generate operations only in the first defined tag class for micronaut server
* Improve micronaut client options by setting the correct default values in the JavaMicronautAbstractCodegen constructor
* Fix visitor pattern having abstract method in non-abstract class. Update samples
* Update server sample FILES
* Minor refactor
* Fix for context path
The default controller implementation returns an empty response. This
might result in unexpected behavior when an operation isn't implemented,
as a consumer of the API there is no way to notice the difference
between an unimplemented method and an actual empty response.
By changing the default behavior to return HTTP 501 Not Implemented the
user will be made aware of unimplemented methods. The former default
behavior, returning an empty response by default, can be activated with
a configuration option.
* added springdoc config file to codegen
* added mustache template for springdoc config
* changed type to all caps so it can be used in the template
* added security scheme details
caveat: didn't add oauth2 flows
* removed url not supported by codegensecurity
* Fixed default doc provider in help message
* refactored config file generation test
and added springdoc test
* removed default codegen modification
implemented through booleans in template instead
* added new/updated generator files
* fixed escaping of description
* fixed appDescription in template
removed if and fixed escaping
* updated generated files again
* updated to springdoc in generator docs
* Fixxed issue with numeric primitive in body
* Aded primitives to cpp-qt/petstore.yaml (test ressource)
* generated samples via ./bin/generate-samples.sh
* update surefire to newer version
* small tweak to add support for "leeway" when verifying oauth tokens.
Co-authored-by: William Cheng <wing328hk@gmail.com>
Co-authored-by: Bruno Flamand <bflamand@stingray.com>
* scala-akka-http-server model default value when field is not required
* scala-akka-http-server sample generate
* delete bin/configs/other/scala-akka-http-server.yaml
* Upgrade PHPCS-Fixer to 3.5 version
This version requires PHP 7.4 or 8.0 which perfectly meets our supported
PHP right now.
* Rename config file to .php-cs-fixer.dist.php
This way it can be overwritten with local file(same name without "dist"
part). Also it's recommended filename from the package doc.
* Add PSR12 rule set to config
I've changed config file a bit to look like example from the doc.
Ref: https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/HEAD/doc/config.rst
* Ignore new cache format
* Remove blank line after class opening
* Set constants in models public
* Refresh samples
* [cpp-qt-client] Fix CMakeLists.txt
Changed: Always add Qt5::Gui to build
Added: find_package for OpenSSL (if not Apple)
* Revert "[cpp-qt-client] Fix CMakeLists.txt"
This reverts commit db5c3423b9.
* Revert "Revert "[cpp-qt-client] Fix CMakeLists.txt""
This reverts commit c4f055f3cd.
* [Cpp][Qt][client] Fixed unique items in OpenAPI schema
Added equal operator for schema objects
Added qhash Operator
in api template
depending on unique items
output.insert(val) -- QSet (unique items)
or
ouput.appen(val) -- QList (not unique items)
* Added petstore with unique items to tests schemas, added config for [cpp][qt] and this schema
* Run ./bin/generate-samples.sh bin/configs/cpp-qt-client* for new schemas and tests
* Update bin/configs/cpp-qt-client-petstore-unique.yaml
Co-authored-by: Martin Delille <martin@delille.org>
* Update bin/configs/cpp-qt-client-petstore-unique.yaml
Co-authored-by: Martin Delille <martin@delille.org>
* Fixxed typo in name of spec file, too.
* Moved petstore_plus_unique.json to correct directory (2_0 -> 3_0 )
moved open api specification
rerun generate samples
* Deleted obsolete samples output
* Removed obsolete files (unique items petstore yaml definition and samples)
* Updated samples output for cpp-qt
Co-authored-by: Martin Delille <martin@delille.org>
* Bugfix Kotlin-client: Can now handle path param of type list for jvm-volley and multiplatform. Also cleaning up generated code
* Adding samples to github workflow. Deleting old workflow
* Tweaking setup of jvm-volley
* Updating samples
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Generates delete_coffee endpoint
* Adds test of delete_coffee
* Removes .run files
* Fixes bug and adds test
* Reverts version file
* Reverts function sig
* Removes comma
* [C++][Pistache] fix Wconversion warning
* [C++][Pistache] fix struct model compilation with std::optional
* [C++][Pistache] Add validation to struct model
* Allow the baseUrl of elixir APIs to be overridden
* Run generator
* Add missing `:`
* Update modules/openapi-generator/src/main/resources/elixir/connection.ex.mustache
Co-authored-by: Michael Ramstein <633688+mrmstn@users.noreply.github.com>
* Generate sample with new change
Co-authored-by: Joe Eifert <joe@databerg.rocks>
Co-authored-by: Michael Ramstein <633688+mrmstn@users.noreply.github.com>
A specialization for the shared_ptr<datetime> data type was added to
ModelBase member functions fromString, fromJson, toJson and
toHttpContent.
This should fix compilation errors on generated source code.
See https://github.com/coinapi/coinapi-sdk/pull/130
* PoC json_serializable in dart-dio-next
* Move build.yaml template into json_serializable dir
* Undo implicit-dynamic change
* Fix automatic formatting
* Treat non-required fields as nullable
* Make class properties final
* Fix error introduced by merging in master
* Fix map creation when deserializing
* Exclude built files from analysis
* Add new dio import props
* Fix broken merge
* Fix configuration of nullable properties
* Only add api_util import if using built value
* Add config param to set properties as final
* Fix syntax error due to merge
* Update to simplified dio configuration
* Add missing api constructor template
* Fix import for multipart files
* Fix inclusion of library deserialize template
* Update docs
* Remove trailing newline from class
* Fix whitespace in generated templates
* FIx built value generation problem caused by merge conflicts
* Escape dollar signs in strings
* Handle enums
* Config for json_serializable sample
* Generate sample for json_serializable
* Revert "Escape dollar signs in strings"
This reverts commit 6e2a3aeea0.
* Use raw strings when dealing with enum values
* Add json_serializable Maven module ind fix number based enums
* regenerate all tests
* Update docs and fix wrong maven module
* add a beta hint to json_serializable option
* Update minimum dart sdk with json serializable
* Use dart 2.14 when testing Dart samples
* Update codegen to remove analysis errors in output
Co-authored-by: Peter Leibiger <kuhnroyal@gmail.com>
* Update AspNetCoreServerCodegen.java
previously the file was not used and not part of the output although already existing as template
* update samples
* Adding DocumentationProvider and SwaggerUI to Kotlin Spring
* Fixing annotation errors
* Fixes to homeController
* Minor stylistic fixes
* Removing parameter from docs
* Structuring pom, making gradle file similar to pom
* Updating samples
* Add source folder variable to fastapi fix 12118
* Add generated sample files for python-fastapi fix 12118
* [python-experimental] fixes json + charset use case (#12114)
* Adds code to detect json content type when charset is also set
* Updates template to properly render content type, regenerates samples
* Adds test_json_with_charset
* Reverts version file
* Fixes typo
* Add example allOf with single ref (#10948)
* Add example allOf with single ref
* fix dart-dio-next handling of that case
* Refactor without vendor extension
* Regenerate newer samples
* Add a sample of an enum model array in query params (#12107)
* [typescript-fetch] drop support typescript under v4.0 (#12102)
* [typescript-fetch] drop support typescript under v4.0
* [typescript-fetch] update docs
* [typescript-fetch] update package-lock.json manually & fix test
* [typescript-fetch] fix test
* update samples
* [dart] Remove old dio generator (to be replaced with dart-dio-next) (#12109)
* remove old `dart-dio` generator which will be replaced by `dart-dio-next` in a seperate PR
* remove left-over `DartJaguarClinetCodegen` class which was sunset a while ago and is unused
* fix: respect configured generator URL in swagger config (#12064)
* fix: respect configured generator URL in swagger config
The generated OpenAPI spec does not reflect the GENERATOR_HOST which causes wrong generated code and non-functional snippets in the UI.
This PR improves that by adding the relevant parts to the spec.
* style: use `OpenAPI` instead of `Swagger`
* refactor: make Set creation Java 8 compatible
* fix: add missing import
* [typescript*] drop support typescript below 4.0 (#12123)
* [typescript-axios] drop support typescript below 4.0 & update samples
* [typescript-axios] update package.json & package-lock.json
* [typescript-node] drop support typescript below 4.0 & update samples
* [typescript-nestjs] drop support typescript below 4.0 & update samples
* [typescript-redux-query] drop support typescript below 4.0 & update samples
* [typescript-aurelia] drop support typescript below 4.0 & update samples
* [typescript-jquery] drop support typescript below 4.0 & update samples
* [typescript] drop support typescript below 4.0 & update samples
* Upgrade haskell-servant to latest LTS (#12092)
* [C++][Qt] update petstore to 3.0 spec (#12124)
* test update sampels
* update samples
* add file
* update readme with onesignal (#12126)
* [typescript-fetch] Removed functions that are unused when withoutRuntime is true. (#12101)
* [typescript-fetch] remove unused function when withoutRuntimeCheks option to true
* [typescript-fetch] update samples
* [kotlin][client] fix encoding of individual parts of a multipart request (#11911)
* [kotlin][client] fix encoding (and Content-Type headers) of individual parts of a multipart request
* [kotlin][client] fix incorrect handling of binary downloads
* [kotlin][client] update samples
* [python-experimental] Allow response media types to omit schema (#12135)
* Adds issue spec file and attemts to generate code from it
* Adds missing schema definitions
* Skips fromProperty invocation if the passed in schema is none in getContent
* Makes MediaType.schema optional
* Adds checking that the content type is in self.content
* Sets ApiResponse body type as Unset if there is no schema for it
* Handles schema = None case
* Adds endpoint without response schema
* Reverts version files
* Adds test_response_without_schema
* improve errorObjectType to avoid regression (#12131)
* [php-slim4] Add monolog package as default logger (#12137)
* Add monolog to templates
* Remove default values from DI\get helper
It turned out \DI\get expects only single argument, current method call
doesn't throw any errors but it should be corrected anyway.
* Refresh samples
* Bump async from 2.6.3 to 2.6.4 in /website (#12148)
Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)
---
updated-dependencies:
- dependency-name: async
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* do not put the invalid value of the enum to a JSON structure (#12133)
* [Java] Ignore return value for Java file assert classes (#12145)
* Add @mkusaka to TS technical committee (#12150)
* Fix documentation for users of AbstractJavaJAXRSServerCodegen (#12142)
The default for `sourceFolder` in the documentation was wrong.
* [Dart][client] Adjust toJson method to use '_json' instead of 'json' to avoid shadowing fields named 'json' (#12127) (#12138)
* [Dart][client] Updated dart samples
Co-authored-by: 0xnf <0xnf>
* [dart] Support/Fix sourceFolder parameter and docs (#12113)
* [dart] Support/Fix sourceFolder parameter and docs
* allow passing the sourceFolder to generators
* not sure how this translates to the dart2 generator due to the `part` files
* fix doc generation not showing default value of CLI options
* [dart] Delete old generator doc files
* [Ruby] Add support for faraday 2.x (#12112)
* [ruby] Add faraday 2.x support
* Remove redundant params_encoder config
* Memoize Faraday connection and refactor
* [Java/Spring] all-of and one-of Improvements and Fixes (was #12075) (#12089)
* Fix Bug in OneOfImplementorAdditionalData pulling in wrong vars to one-of-implementors.
Support parentVars in order to support fluent setter with inherited properties.
Squashed commit of the following:
commit f945c943777a1a496d7de8fc0a188842d9efb1ac
Author: Lars Uffmann <lars.uffmann@gmail.com>
Date: Thu Apr 7 18:22:54 2022 +0200
Polishing
commit 23ce1d0ff1faff53e85ca4362f33660962aa6a92
Author: Lars Uffmann <lars.uffmann@vitroconnect.de>
Date: Thu Apr 7 17:15:28 2022 +0200
Add JavaDoc
commit fee70fde5709afa67f3aabd4f48ba496df63a884
Author: Lars Uffmann <lars.uffmann@vitroconnect.de>
Date: Thu Apr 7 17:11:17 2022 +0200
Add imports for inherited Properties
commit 29509aaac51750fbd33c00a57d32cac34cbcbb90
Author: Lars Uffmann <lars.uffmann@vitroconnect.de>
Date: Thu Apr 7 13:40:36 2022 +0200
Generate Samples
commit 1d19d5465137d3af712f2fd3b4ae4474c58af15e
Author: Lars Uffmann <lars.uffmann@vitroconnect.de>
Date: Thu Apr 7 13:21:23 2022 +0200
SpringCodegen: Support parentVars in order to support fluent setter with inherited properties.
commit 2217a77bb747d0b07ef17407a6b5dd5c624a2551
Author: Lars Uffmann <lars.uffmann@gmail.com>
Date: Thu Apr 7 07:18:50 2022 +0200
Add allVars to omit list in OneOfImplementorAdditionalData
commit 90499a3b0a187971bfe25deb6355c3444dcf89a7
Author: Lars Uffmann <lars.uffmann@gmail.com>
Date: Wed Apr 6 16:40:23 2022 +0200
Works exactly as needed for oneOf/allOf in Java/Spring
commit b6d496d772e0d0a8d87a3b8cdba8fd3ca4db7f3f
Author: Lars Uffmann <lars.uffmann@gmail.com>
Date: Wed Apr 6 15:16:27 2022 +0200
Debug Session: identify critical codep path
commit 85722360038107f15841d5acc448d93dee513a06
Author: Lars Uffmann <lars.uffmann@vitroconnect.de>
Date: Tue Apr 5 09:56:38 2022 +0200
Add test case to reproduce issue.
commit 14acc5cd974bb5260f3751015558807e2eb1a8a1
Author: Lars Uffmann <lars.uffmann@gmail.com>
Date: Tue Apr 5 06:57:30 2022 +0200
Add config to reproduce the issue
* Adjust indentation.
Co-authored-by: Lars Uffmann <lars@wintermute.local>
* [REQ][Ruby] Ruby Allow Follow Redirect (#12047)
* Add `follow_location` option
Implementation of https://github.com/OpenAPITools/openapi-generator/issues/10028
* regenerated clients
* set follow_location default to true
* Adds UUID to python-experimental (#12153)
* Adds UUID to python-exp, allows uuid models to be generated
* Adds test_UUIDString uuid model test
* Fixes uuid properties in python-exp, changes maps to object data type, adds uuid data type
* Adds maps data type back in
* Adds missing Null and AnyType definitions and adds them to python-experimental
* Generator docs updated, added missing uuid, null, anytype, and object
* Adds uuid support description
* Docs updated
* update url to travis ci
* Adds not to CodegenComposedSchemas and uses it in python-exp (#12146)
Updates docs
* [python-experimental] fixes bug where some singleton representations raised a RecursionError (#12157)
* Adds issue components and endpoint
* Regenerates samples
* Fixes singleton repr, removes issue components and endpoint
* Removes unused endpoint
* Reverts file
* Adds tests of enum, boolean, and none representations
* Uses super repr for singletons that ere not none, true, or false
* [swift5] Abstract away URLSession (#11651) (#12110)
* [Java][OkHTTP] fix empty request body handling (#12172)
* Better inline model resolver to handle inline schema in array item (#12104)
* better support of inline schema in array item
* update tests
* update samples
* regenerate samples
* fix allof naming, remove files
* add files
* update samples
* update readme
* fix tests
* update samples
* update samples
* add new files
* update test spec
* add back tests
* remove unused files
* comment out python test
* update js test using own spec
* remove files
* remove unused files
* remove files
* remove unused files
* better handling of allOf with a single type
* comment out go test
* remove test_all_of_with_single_ref_single_ref_type.py
* fix inline resolver, uncomment go test
* [Inline model resolver] minor enhancements/refactoring (#12175)
* better code format
* better code format, minor refactor
* [python-experimental] Fixes enum is comparison (#12176)
* Fixes enum is comparison
* Reverts file
* [php] make ObjectSerializer::toString actually return a string (#12158)
* update php samples
* Allow selection of MP REST API version for MicroProfile REST client g… (#12043)
* Allow selection of MP REST API version for MicroProfile REST client generation
* fix typo in pom.xml
* fix typo in pom.xml, update samples
* add exception when incorrect MP Rest Client version is chosen
* [Java][microprofile] update API test template to work with v3.0 (#12177)
* update microprofile api test to work with 3.0
* minor format change
* update samples
* Return type for Azure funcs (#12115)
* Azure func return type
* Changed to Task<IActionResult<T>
* Readme
* update doc
* Improvements to csharp-netcore-function generator (#12183)
* improvements to csharp-netcore-function generator
* update samples
* update doc, samples
* [java-micronaut] Support Optional for non-required properties (#12144)
The Micronaut generator by default adds the @Nullable annotation to
non-required properties and allows using the Jackson JsonNullable
wrapper but it is not possible to use java.util.Optional as a wrapper
for optional properties.
This change adds support for using the Optional wrapper for non-required
properties.
* update java samples
* [typescript-fetch] allow initOverrides with async function (#12098)
* [typescript-fetch] allow initOverrides with async function
* [typescript-fetch] update samples
* [typescript-fetch] refactoring initFnction apply
* [typescript-fetch] update samples
* [typescript-fetch] refactoring create body function
* [typescript-fetch] update samples
* [typescript-fetch] make interface more flexible
* [typescript-fetch] update samples
* [typescript-fetch] support 2.x version of typescript & update samples
* [typescript-axios] update samples
* [typescript-fetch] refactor: add type alias
* [typescript-fetch] override with init params even if initOverrides is function
* [typescript-fetch] update samples
* [Wsdl] Adding cli-option for generating different versions of WSDL-files regarding Media type versioning (content negotiation) (#12206)
* add wsdl version generation
* add option to use specified operationId
* update samples
* update cli description
* [python-flask] Fix return type too strict (#12190)
Flask (and connexion by extension) allows the return type to be either
just the body, or the body & status code, or the body & status code &
headers.
This commit fixes the stated `rtype` to allow the latter two cases.
* update samples, docs
* Fixing bug in Kotlin Client with BigDecimal default value (#12213)
* Fix duplication of "Api" when structPrefix is set (#12128)
This fixes a minor duplication of the word "Api", which is already part
of the classname template parameter and doesn't need to be repeated when
structPrefix is set.
* add samples/client/petstore/kotlin-bigdecimal-default to kotlin ci tests
* remove spring-mvc samples (#12222)
* [Micronaut] Add option to describe response wrappers (#12186)
* Minor refactor for Micronaut generators
* Add support for security roles in micronaut server generator
* Micronaut Server Generator refactor the x-roles String variable
* Add support for Micronaut HttpResponse wrapper
* Generate samples
* Optimize the usage of context-path for Micronaut server
* Emit default values for aspnetcore 3 value types (#11280)
Fixes#10772 for aspnetcore 3+
This allows numbers to be set to zero, and booleans to be set to false.
It may make sense to port this fix to the other C# generators,
though it was partially fixed (for booleans only) in the netcore client in PR9042.
* update samples
Co-authored-by: Justin Black <spacether@users.noreply.github.com>
Co-authored-by: Peter Leibiger <kuhnroyal@gmail.com>
Co-authored-by: mkusaka <hinoshita1992@gmail.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
Co-authored-by: Florian Greinacher <florian@greinacher.de>
Co-authored-by: Tom Bärwinkel <dev@baerwinkel.org>
Co-authored-by: Anton Koscejev <koscejev@users.noreply.github.com>
Co-authored-by: Yuriy Belenko <yura-bely@mail.ru>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Hui Yu <ityuhui@gmail.com>
Co-authored-by: Oleh Kurpiak <oleh.kurpiak@gmail.com>
Co-authored-by: Eric Wolf <1983821+typetetris@users.noreply.github.com>
Co-authored-by: 0xNF <0xNF@users.noreply.github.com>
Co-authored-by: Yohei Kitamura <ykitamura@mdsol.com>
Co-authored-by: cachescrubber <5127753+cachescrubber@users.noreply.github.com>
Co-authored-by: Lars Uffmann <lars@wintermute.local>
Co-authored-by: Connor Moore <cmoore@aurorasolar.com>
Co-authored-by: leszek-s <1277962+leszek-s@users.noreply.github.com>
Co-authored-by: fengelniederhammer <92720311+fengelniederhammer@users.noreply.github.com>
Co-authored-by: Andrii Serkes <74911628+aserkes@users.noreply.github.com>
Co-authored-by: Abrhm7786 <82376602+Abrhm7786@users.noreply.github.com>
Co-authored-by: Auke Schrijnen <auke-@users.noreply.github.com>
Co-authored-by: adessoDpd <83429301+adessoDpd@users.noreply.github.com>
Co-authored-by: Oliver Ford <dev.github@ojford.com>
Co-authored-by: Johan Sjöblom <sjoblomj88@gmail.com>
Co-authored-by: Noah Fontes <noah.fontes@puppet.com>
Co-authored-by: Andriy Dmytruk <80816836+andriy-dmytruk@users.noreply.github.com>
Co-authored-by: matt beary <1661988+hauntingEcho@users.noreply.github.com>
* added getMessage() override
* Updated samples
* Updated test to expect new message format
* Updated pattern to expect specific message
* updated to platform agnostic line separators
* exclude query params when they are not required
* fix check on empty
* update samples
* fix
* add tests
* update test
* Fix style
I guess PHPCodeSniffer would find PSR12 violated but we use CS-Fixer
instead. Anyway, conditions should contain spaces between logical
operators for readability.
* Apply CS-Fixer changes to templates
* Refresh samples
* Add required param to docblock
Co-authored-by: Yuriy Belenko <yura-bely@mail.ru>
* [csharp-netcore] DX-2532 - Add support for `byte[]` response deserialization
Add support for `byte[]` response type deserialization
* Update Samples and Docs
* [java-micronaut] Generate visitor for subtypes with a discriminator
When types which extend a common type and are distinguished based on a
discriminator are consumed they are often cast to their specific Java
type which results in error prone boilerplate code.
By generating a visitor for those kind of types the various subtypes can
be consumed in a type safe manner.
* [java-micronaut] Remove redundant public access modifiers
Fixes#10772 for aspnetcore 3+
This allows numbers to be set to zero, and booleans to be set to false.
It may make sense to port this fix to the other C# generators,
though it was partially fixed (for booleans only) in the netcore client in PR9042.
* Minor refactor for Micronaut generators
* Add support for security roles in micronaut server generator
* Micronaut Server Generator refactor the x-roles String variable
* Add support for Micronaut HttpResponse wrapper
* Generate samples
* Optimize the usage of context-path for Micronaut server
This fixes a minor duplication of the word "Api", which is already part
of the classname template parameter and doesn't need to be repeated when
structPrefix is set.
Flask (and connexion by extension) allows the return type to be either
just the body, or the body & status code, or the body & status code &
headers.
This commit fixes the stated `rtype` to allow the latter two cases.
* [typescript-fetch] allow initOverrides with async function
* [typescript-fetch] update samples
* [typescript-fetch] refactoring initFnction apply
* [typescript-fetch] update samples
* [typescript-fetch] refactoring create body function
* [typescript-fetch] update samples
* [typescript-fetch] make interface more flexible
* [typescript-fetch] update samples
* [typescript-fetch] support 2.x version of typescript & update samples
* [typescript-axios] update samples
* [typescript-fetch] refactor: add type alias
* [typescript-fetch] override with init params even if initOverrides is function
* [typescript-fetch] update samples
The Micronaut generator by default adds the @Nullable annotation to
non-required properties and allows using the Jackson JsonNullable
wrapper but it is not possible to use java.util.Optional as a wrapper
for optional properties.
This change adds support for using the Optional wrapper for non-required
properties.
* Allow selection of MP REST API version for MicroProfile REST client generation
* fix typo in pom.xml
* fix typo in pom.xml, update samples
* add exception when incorrect MP Rest Client version is chosen
* Adds issue components and endpoint
* Regenerates samples
* Fixes singleton repr, removes issue components and endpoint
* Removes unused endpoint
* Reverts file
* Adds tests of enum, boolean, and none representations
* Uses super repr for singletons that ere not none, true, or false
* Adds UUID to python-exp, allows uuid models to be generated
* Adds test_UUIDString uuid model test
* Fixes uuid properties in python-exp, changes maps to object data type, adds uuid data type
* Adds maps data type back in
* Adds missing Null and AnyType definitions and adds them to python-experimental
* Generator docs updated, added missing uuid, null, anytype, and object
* Adds uuid support description
* Docs updated
* [dart] Support/Fix sourceFolder parameter and docs
* allow passing the sourceFolder to generators
* not sure how this translates to the dart2 generator due to the `part` files
* fix doc generation not showing default value of CLI options
* [dart] Delete old generator doc files
* Add monolog to templates
* Remove default values from DI\get helper
It turned out \DI\get expects only single argument, current method call
doesn't throw any errors but it should be corrected anyway.
* Refresh samples
* Adds issue spec file and attemts to generate code from it
* Adds missing schema definitions
* Skips fromProperty invocation if the passed in schema is none in getContent
* Makes MediaType.schema optional
* Adds checking that the content type is in self.content
* Sets ApiResponse body type as Unset if there is no schema for it
* Handles schema = None case
* Adds endpoint without response schema
* Reverts version files
* Adds test_response_without_schema
* fix: respect configured generator URL in swagger config
The generated OpenAPI spec does not reflect the GENERATOR_HOST which causes wrong generated code and non-functional snippets in the UI.
This PR improves that by adding the relevant parts to the spec.
* style: use `OpenAPI` instead of `Swagger`
* refactor: make Set creation Java 8 compatible
* fix: add missing import
* remove old `dart-dio` generator which will be replaced by `dart-dio-next` in a seperate PR
* remove left-over `DartJaguarClinetCodegen` class which was sunset a while ago and is unused
* [typescript-fetch] drop support typescript under v4.0
* [typescript-fetch] update docs
* [typescript-fetch] update package-lock.json manually & fix test
* [typescript-fetch] fix test
* Adds code to detect json content type when charset is also set
* Updates template to properly render content type, regenerates samples
* Adds test_json_with_charset
* Reverts version file
* Fixes typo
* [typescript-fetch] add global config feature
* [typescript-fetch] update samples
* [typescript-fetch] rename GlobalConfig to DefaultConfig and set defaultConfig to set config
* [typescript-fetch] update samples
* Add the operation associated with each request path
* Populate the request operation with a combination of classname and operation id
* Initialize operation servers dictionary with default values
* Allow passing in the operation index with requests
* Check that the server contains a variables key before iterating
* Generated samples
* Generated samples with latest changes
* Include operations when at least one server exists
* Generate samples with the latest changes
Co-authored-by: Mike Hamer <mhamer@bandwidth.com>
Co-authored-by: Mike Hamer <hamer.mike@gmail.com>
When a schema specifies additionalProperties: true, we need not restrict
those properties to a particular type. This change sets the schemas for
them to AnyType instead of object.
From a generation perspective, this only changes the output for
generators that differentiate between AnyType and object in their type
mappings; most do not. This fixes at least one bug in the Go and
TypeScript generators.
* Improves example generator for python-experimental
* Fixes quotes around date example
* Improves object schema examplple gen
* Samples regenerated
* Adds back in AnyType + oneOf discriminator handling
* Reverts version file
* Returns early in example gen for array composed schemas
* Adds toExampleValue method to python-exp
* Improves pattern regex sample generation in python-experimental
* Fixes comment typo
* Install correct typings for url-parse
* Use es modules compat mode when es6 output is selected
* Consolidate typescript sample generation naming scheme
* Regenerate samples
* Create new typescript sample to test esmodules in browser
* Expose RequiredError type
* Make browser integration tests pass locally
* Remove cookie tests, because we don’t allow cross-origin cookies
* Add output type to package definition
* Execute new browser tests in pipeline
* Install headless chromium dependencies in circle ci
* fix#11958 [BUG] python generates wrong model name and model file name
Modify AbstractPythonCodegen.toModelName just like AbstractJavaCodegen.toModelName
* add unit test
* update samples and docs
by
./bin/generate-samples.sh
./bin/utils/export_docs_generators.sh
* fix AbstractPythonCodegen#toModelName logic, remove underscore
* update samples and docs
by
./bin/generate-samples.sh
./bin/utils/export_docs_generators.sh
In case 'useBeanValidation' is enabled the relevant annotation classes should be imported on the API as well.
In the current version (5.4.0) the resource methods parameters are annotated with @Valid but without importing them.
* [req_vars_changes]
* Added new schema to generate samples to test the issue mentioned in the PR.
* Changed the variable name from setRequiredVars to initRequiredVars
* Added initRequiredVars as a generator additional property
* Regenerating the samples after rebasing the code with master branch
* Changed the description of additional property
* Minor refactor for Micronaut generators
* Add support for security roles in micronaut server generator
* Micronaut Server Generator refactor the x-roles String variable
* add support for additiional properties in okhttp-gson java client
* deserialize with additional properties
* better handling of non-primitive type
* use entry set instead
* support disallowAdditionalPropertiesIfNotPresent
* remove additional properties in serialization
* Fixed StringIndexOutOfBoundsException when the object has multiple required fields has $ref to the same oneOf object
* fix bad depth
Co-authored-by: Kanda <kanda@synctera.com>
* [C][Client] Free list or map memory when json parsing fails
* [C][Client] Free list or map memory when json parsing fails (part 2)
* Note for unsupported data type
* Update ObjectSerializer::toQueryValue method
It looks a bit ugly right now, but at least all tests has been passed.
* Add tests of query serialization
I used fixtures from OpenAPISpec main doc. Some prop combinations are not
officially documented yet, for instance behavior for nested objects and
arrays.
* Add test fixture from @nadar
* Add tests of Guzzle query build failure
* Add query build wrapper static method
Co-authored-by: Yuriy Belenko <yura-bely@mail.ru>
I have changed the way to check for empty maps and lists, instead of checking if the size is greater than 0, It is more understandable and faster using !x.isEmpty() method. Also, instead of using stream().filter().findFirst().isPresent(), it is recomendable using its equivalent stream().anyMatch() which as well makes it easier to understand and efficient.
* LDS-2166 : add request auth to api client and api call
Can now overwrite request auth by request
Envoyé depuis mon iPhone.
P.S. : Ce commit est certifié sans gluten
* LDS-2166 : Add samples
Envoyé depuis mon iPhone.
P.S. : Ce commit est certifié sans gluten
* LDS-2166 : fix test
Envoyé depuis mon iPhone.
P.S. : Ce commit est certifié sans gluten
* LDS-2166 : Fixing test in python_disallowAdditionalPropertiesIfNotPresent
Envoyé depuis mon iPhone.
P.S. : Ce commit est certifié sans gluten
* LDS-2166 : add removed line break
Envoyé depuis mon iPhone.
P.S. : Ce commit est certifié sans gluten
* LDS-2166 : add name for _request_auth params
Add None when _content_type is not set
Envoyé depuis mon iPhone.
P.S. : Ce commit est certifié sans gluten
* LDS-2166 : add tabulation
Envoyé depuis mon iPhone.
P.S. : Ce commit est certifié sans gluten
* LDS-2166 : fix missing values
Envoyé depuis mon iPhone.
P.S. : Ce commit est certifié sans gluten
* LDS-2166 : generate sample
Add _request_auth in sample
Envoyé depuis mon iPhone.
P.S. : Ce commit est certifié sans gluten
* Request auth can now use multiple auth
Request auth is now a list of dict
Envoyé depuis mon iPhone.
P.S. : Ce commit est certifié sans gluten
* Add request_auths in test
Envoyé depuis mon iPhone.
P.S. : Ce commit est certifié sans gluten
Co-authored-by: Géry THRASIBULE <g.thrasibule@lecomptoirdespharmacies.fr>
* fix: [csharp-netcore]: oneOf fixes for Primitive types
- Escape type in XML comment to avoid issue with types<T> rendering.
- Conditionals for string and Object to still throw ArgumentException.
* fix: Adjust whitespace in csharp-netcore template. Regenerate Petstore clients due to different order of items in composedSchemas.
* Fix OpenAPITools#5381
added x-is-one-of-interface extension for oneOf interface in mustache
template
* Fix OpenAPITools#5381
fixed name of model from UNKNOWN_BASE_TYPE to right one in api: operationId + OneOf
Fix OpenAPITools#5381
parcelableModel is not required
* Fix OpenAPITools#5381
removed not needed methods
* Fix OpenAPITools#5381
catch NPE cases in preprocessOpenAPI
updated samples
* Fix OpenAPITools#5381
fixed generation of oneOf Models
* Fix OpenAPITools#5381
addOneOfInterfaceModel only for cases when useOneOfInterfaces is true and for spring
* Fix OpenAPITools#5381
NPE fix
* Fix OpenAPITools#5381
spring: fixed use of oneOf Models in API
* Fix OpenAPITools#5381
implementing oneOf for spring lib overriding methods with different behavior from default
* Fix OpenAPITools#5381
added x-is-one-of-interface extension for oneOf interface in mustache
template
* Fix OpenAPITools#5381
fixed name of model from UNKNOWN_BASE_TYPE to right one in api: operationId + OneOf
Fix OpenAPITools#5381
removed not needed methods
Fix OpenAPITools#5381
fixed generation of oneOf Models
Fix OpenAPITools#5381
addOneOfInterfaceModel only for cases when useOneOfInterfaces is true and for spring
Fix OpenAPITools#5381
NPE fix for tests
* Fix OpenAPITools#5381
fixed handing of composed schema with array
* Fix OpenAPITools#5381
fixed NPE in addOneOfInterfaceModel
* Fix OpenAPITools#5381
fixed generation of oneOf models with descriminator
* Initial merge of 5.0
* Aligned with master formatting
* Corrected spacing for class names to align with samples.
* Merged master
* Updated samples
* Consolidate methods from JavaClient and SpringCodegen (mov up to AbstractJavaCodegen)
* set useLegacyDiscriminator to false, format templates
* Suport JsonTypeName, fq class name for spring.io.Resource
* Generate Samples
* Test full qualified usage of the spring Resource interface.
* Add java-camel to samples.circleci.spring profile
* Add more complex example combining inheritance and oneof-interface
* Remove x-implements Serializable from JavaClientCodegen (moved to AbstractJavaCodegen)
* Fix spacing before opening brace after extends/implements
* Generate Samples
* Add more complex example combining inheritance and oneof-interface
* Generate Samples
* Fix JsonTypeName annotation handling in Java and JavaSpring
* Content mediatype is hardcoded in api.mustache #11511
* Generate Samples
* OAS3 incorrect data type when providing a default value #11367
* Generate Samples
* Fix JsonTypeName annotation handling in Java and JavaSpring
* Generate Samples
* getIsClassnameSanitized: use null safe equals
* Fix JsonTypeName annotation handling in Java and JavaSpring (merge)
* Generate Samples
* Generate Samples
* Add oneof sample
* Generate Samples
* Giv example oas spec a meaningful name, demo usage of oneOf in Model
* Generate Samples
* Remove unnecessary JsonTypeName include, add example for JsonTypeName (Bar_Create)
* Generate Samples
* Generate Samples
Co-authored-by: Alexej <oleksejk@gmail.com>
Co-authored-by: JBurgess <joel.burgess@gmail.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
* [Rust][Server] Upgrade hyper from 0.13 to 0.14, swagger-rs from 5.0.2 to 6.1.0
* Also upgrade tokio from 0.2 to 1.14
* Re-add JavaClientCodegenTest.java
* Fix incorrect slashes due to wrong generation
* Spelling fix: failuare -> failure
* Upgrade more packages
* Commit generated code
* Fix typo
Co-authored-by: Foorack / Max Faxälv <max@foorack.com>
* Added field and class level annotations
Added x-class-extra-annotation and x-field-extra-annotation for class and field level annotations per object/field
* added field and class level extra annotations to pojos
* Updated samples
* Removed duplicate line
* Updated samples
It is possible, though contrived, for a property to have both isAnyType
and isModel set. In this case, when the outer type is nullable, the Go
template expects a Nullable* type to be provided by the generator, but
it is skipped over instead. This change aligns the generator with the
template's expectations.
A recent enhancement to the template made these primitive types usable
as property names, but a small section of the template wasn't updated,
leading to compilation problems.
Obvious typo in the kotlin help description of the
`supportAndroidApiLevel25AndBelow` configuration parameter i.e.
`in oder` instead of `in order`.
Co-authored-by: Slawomir Kwasniak <slawomir.kwasniak@hensoldt-cyber.de>
For some buggy configurations, a warning is emitted indicating that for
a given request body the corresponding CodegenModel could not be found.
When this happens, some generators produce NPEs when writing out example
code. This change avoids the NPEs by providing a stub value instead.
* GetReferenceHeader for both calls of headerToCodegenParameter
* Moved dereferencing of header outside of headerToCodegenParameter
Co-authored-by: Westerlaken, H.L. (Laurens) <laurens.westerlaken@devolksbank.nl>
The generator ran into a loop when a composite schema recursively added itself. This change provides a reproducing example and fixes the issue by extending DefaultCodegen#addProperties() by an additional circuit breaker parameter.
When additionalProperties() is called with a schema instance for which the properties have already been added, the method directly returns and does not run into the loop.
Remove undefined value from header
Envoyé depuis mon iPhone.
P.S. : Ce commit est certifié sans gluten
Co-authored-by: Géry THRASIBULE <g.thrasibule@lecomptoirdespharmacies.fr>
* [Ada] New options to choose the Ada support library in client and server generated code
* new option httpSupport to choose between Curl or AWS (Ada Web Server) support
* new option openApiName to choose the package name of the OpenAPI support library
* update the templates to customize the support library
* update generated GNAT config.gpr file
* update the client petstore Ada samples
* Fix call to toLowerCase() to give a locale
* Rebuild the Ada generator documentation
In the generated java code, it is usefull to have the generated java api
use the @Deprecated annotation. This enable to leverage this annotation
at runtime to trigger specific logging for instance.
In the generated interface, use the @Deprecated annotation.
Also, in the jax-rs implementation that links the jax-rs api with the
cdi bean implementing the interface, use the
@SuppressWarnings("deprecation") annotation. This way the deprecation
warning is not shown in generated code.
One can use the interface as before: the java compiler can then tell
which implementations do implement a deprecated api, using a warning.
If the implementation itself also sets the @Deprecated annotation, then
there is no warning, unless the implementation is called at another
place in the code.
The spring-boot-starter-webflux uses
io.projectreactor.netty:reactor-netty-http
dependency so the io.projectreactor.ipc:reactor-netty
is actually not used at all
* enhance scalatra server codegen to include openapi info and package dir
* enhance scalatra server codegen to include openapi info and package dir
Co-authored-by: Ravi Nallappan <ravi_nallappan@persistent.com>
* Generate @RequestParam when parameter is not a File
* Fix tests to use @RequestParam
* Enhance testMultipartBoot test case
* Update the Petstore sample
* Add MultipartMixedStatus files
* Use @RequestPart for spring-cloud when param is File
* Generate samples
* Delete spring-cloud formParams.mustache file
* Regenerate samples
This makes sure all model classes are added to the forward declarations
which makes it possible to create templates without any model includes
which helps to resolve circular inclusion issues.
A CodegenModel's hasEnum property is set in addVars:
cm.hasEnums = true;
This state was cleared afterwards again.
As one of its results the import for @JsonValue was not added for the model class in the Spring code generator, where 'model.hasEnums' was evaluated to false where it should be true.
* update parser to 2.0.29
* better handling of null in dereferencing
* update parser to 2.0.30
* update core to newer version
* add new files
* rollback to previous stable version
* remove files
* Fixes for python-experimental NullableShape component
Co-authored-by: Justin Black <justin.a.black@gmail.com>
Originally, this dummy declaration was needed because there was the
possibility of the generated code doesn't use `context.Context` and then
if it imported that package, go compiler complains that and makes an error.
ref: 3ed1aa8e79/modules/swagger-codegen/src/main/resources/go/api.mustache (L30)
However, now this dummy placement is no longer needed because the
generated code always uses `context.Context`.
Signed-off-by: moznion <moznion@mail.moznion.net>
* add missing import, better code format for kotlin generators
* update kotlin workflow
* more kotlin tests
* better code format
* separate kotlin client, server teets
* comment out tests
* better code format in java tests
* better code format in java client codegen
* better code format in java model tests
* better code format in abstract java codegen
* better code format in codegen parameter, property
* better code format in codegen response
* better code format in codegen model
* better code format in default generator
* better code format in default codegen
* update codegen model
* Move static logic to initialization method when no RestTemplate is provided.
Otherwise, use the settings from the RestTemplate that was provided.
* Move code outside of withXml
Run required scripts
Co-authored-by: Westerlaken, H.L. (Laurens) <laurens.westerlaken@devolksbank.nl>
* remove jdk8 support from spring generators
* update tests, remove commented code in AbstractJavaCodegen
* add back implementation
* add back import
* generate code for non reactive
* fixes#11579: Java RestTemplate Mustache template doesn't use reserved words for local variables
* fixes#11579: Java RestTemplate samples
Co-authored-by: Marek Hudik <marek.hudik@broadcom.com>
* add samples/server/petstore/spring-boot-nullable-set to github workflow
* add github workflow to test scala clients and servers
* trigger build
* remove module
* trigger build
* test with jdk8
* trigger build
* test with jdk11
* clean up pom.xml
* remove groovy from pom.xml
* update samples
* Bugfix: delay clearing *TemplateFiles with apiFirst #2407
* Bugfix: delay clearing *TemplateFiles with apiFirst #2407 (add test case)
* spring api.mustache: fix unhandledException #10860
* Generate samples
* add sample
* Generate samples
* Fixed mustache template for FormParams. Use paramName instead of baseName for variable name.
This will fix an issue when parameter name is one of the reserved keywords (#7506)
# Conflicts:
# modules/openapi-generator/src/main/resources/JavaSpring/formParams.mustache
# modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java
* Move and comment apiFrst
Co-authored-by: Andrii Hrytsiuk <andrii.hrytsiuk@gmail.com>
* Add default value support to cookie and header params
* Generate Samples
* Replace "OffsetDateTime.parse(..)" with toString();
* Generate Samples
* Revert "Replace "OffsetDateTime.parse(..)" with toString();"
This reverts commit 2e37411b30.
* Format java.util.Date to ISO Date in AbstractJavaCodegen.toDefaultParameterValue
* Generate Samples
* Generate Samples
* Use toParameterDefault()
* Generate Samples
* Implement testDateTimeFormParameterHasDefaultValue unit test
* Add more test coverage.
* Remove postProcessParameter() since is has no effect after using toDefaultParameterValue()
* Use LocalDate.parse() in toDefaultValue()
* Generate Samples
* Return a defaultValue only if dateTimeLibrary is java8.
* Check size of x-tags list
* Remove unused variable assigment
* Fix issue number in test method name
* Fix typo
* Add tag to @ApoOperation only if any tag is given
* Rename data provider method
* Remove unused import
Remove CIRCE_VERSION from generator because it is taken in as a transitive dependency of ` "com.softwaremill.sttp.client3" %% "json4s" % "3.3.18"`
Co-authored-by: boris <borissmidt@hotmail.com>
* Add cycle detection (#7532)
* Review feedback
* Including ContextAwareNodes to detect cycles more accurately.
* Add test
* Add forest to test.
* No longer need ContextAwareNode
* Review feedback
* Update samples
* Content mediatype is hardcoded in api.mustache #11511
* Generate Samples
* OAS3 incorrect data type when providing a default value #11367
* Generate Samples
* Fix JsonTypeName annotation handling in Java and JavaSpring
* Generate Samples
* getIsClassnameSanitized: use null safe equals
The currently generated code will throw a `ClassCastException` if `type` is `Object`. I'm not quite sure why `isAssignableFrom` is used here but I tried to keep the change minimal - in my understanding, the result would be the same if the line was
```
if(Types.getRawType(type).equals(ApiResponse.class)) {
```
because the `ApiResponse` only extends `Object` and implements no interfaces. Maybe it was meant to be `ApiResponse.class.isAssignableFrom(Types.getRawType(type))`? This would also permit subclasses of `ApiResponse`, but then it would be more complicated to determine the actual type parameter (because `type` itself may not be parameterized) and to create the object to return (because it would have to be an instance of the subclass).
* Adds bases for int32, int64, float32, and float64
* Samples updated
* Removes print statements
* When creating properties and items do not call _from_openapi_data or model __new__
* Update speed improvement
* cast_to_allowed_types speeed improvements
* _get_new_instance_without_conversion order swap for speed
* Fixes test errors
* Small fixes about path_to_schemas
* Adds component with composition in property example
* Adds endpoint parameter examples
* Adds request body examples
* Adds inpline composition example in response body
* Fixes UNKNOWNBASETYPE import bug
* Updates allof inline schemas to be type object with minProperties
* Removes newline
* Adds test_ObjectWithInlineCompositionProperty
* Updates inline schema to be type string, adds partial test_inline_composition
* Fixes accept_content_types input value
* Adds test_ObjectWithInlineCompositionProperty, adds test_inline_composition and starts deserialization of multipart
* Fixes test_inline_composition, adds simple multipat/form-data deserialization
* feat(typescript-rxjs): add support for rxjs 7.2.0, use type imports
* feat(typescript-rxjs): regenerate samples
* feat(typescript-rxjs): use generic T instead of any in BaseAPI
* feat(typescript-rxjs): regenerate samples
* add stringEnums option
* update templates
* add export
* update samples
* update document
* improve readability
* remove unnecessary code
* add config file for sample
* add sample
* update sample
* remove enum variable form modelObjetEnum template because this variable is not used in modelStringEnum template.
* change the indentation to be the same as modelGeneric template
* Add nillable data types to models
Only REQUIRED and NOT NULLABLE variables can NOT have type Nil
All OPTIONAL and NULLABLE-REQUIRED variables have type Nil
Only NULLABLE-REQUIRED variables should emit keys with null values when they are serialized, json example: property name : String? = nil; the json representation for this property is {"name": null}
For all OPTIONAL variables having Nil values, their variable keys would be skipped during serialization. The json representation for OPTIONAL property name : String? = nil; would be: {}
* Fix failed tests in samples/client/petstore/crystal/spec/api/pet_api_spec.cr
* Remove isNullable from model template
* No need to check nillability of required property
For any required property, assigning nil value to it will result in compilation error
The datatype simply can not hold value nil, so there's no need to check it
* Place required vars first in initializor
* Refresh generated sample code for crystal client
* Required properties are not nillable
* Fix compilation error of undefined method equal?
Crystal lang doesn't have method equal?
We should use method same? instead of ruby's equal? method
Reference: https://crystal-lang.org/api/master/Reference.html#same?(other:Reference):Bool-instance-method
* Add tests for add_pet api endpoint with only required parameters
Setting Pet optional properties to nil values is allowed by add_pet api endpoint
* Add helper method to test compilation errors
* Add tests to Pet model
Test model initializations
Test compilation error when model is initialized without required properties
* Test required properties in json deserialization for Pet model
* Added templates for Kotlin JAX-RS server
* Fixed Kotlin Server JAX-RS template directory
* Added support for Kotlin Server JAX-RS library
* Added support using coroutines with Kotlin server JAX-RS library
* Added sample for Kotlin server JAX-RS library
* Added support for returnResponse option into Kotlin server JAX-RS library
* Fixed issue with optional parameters in Kotlin JAX-RS spec
* Fixed oneOf issue in Kotlin jaxrs-spec generator
* Added better documentation to Kotlin Server JAX-RS options
* Updated kotlin-server.md
* Updated kotlin-server jaxrs-spec samples
* Fixed issue with Kotlin JAX-RS spec and reserved names
* Regenerated samples
* add custom agent support
* samples
* more samples
* merge master files
* only enable custom agent on nodejs not browser
* samples again
* samples
* samples once more
* added generichost library
* added templates
* added an event, improved docs, added logging
* adding event args file
* fixed hard coded package name
* added an AddTokens overload for a single token
* changed api clients to singletons to support the event registration
* build samples
* log exceptions while executing api responded event
* nrt bug fixes, dangling comma fix
* resolving comments
* removed debugging lines
* refactored token provider
* rate limit provider now default
* updated readme, added ConfigureAwait(false)
* DI fixes
* removed a hard coded project name
* fixed nrt bugs
* improved NRT and .net 3.1 support
* renamed projectName to apiName, added cli option
* trying to avoid conflict
* set GenerateAssemlbyInfo to true
* created docs/scripts folder
* moved ApiTestsBase.cs to not get overwritten
* test fixes and improvements
* fixed licenseId bug, updated readme
* build samples
* export docs
* removed new language features
* added support for .net standard 2.0
* added git_push.ps1
* fixed bug in git_push.sh due to the new directory, prompting user for commit message
* moved documentation folders
* fixed bug when apiKey in query
* bug fix
* fix base class and back-ticks
* back-ticks in key word fix
* back-ticks fix in kotlin keywords
* samples
* remove EOL
Co-authored-by: ags039 <ags039@motorolasolutions.com>
* added support for independent test-folder
* generate updated docs
* generate updated docs
* generate updated docs
* trigger a new CI builds
Co-authored-by: William Cheng <wing328hk@gmail.com>
* Add micronaut server implementation
* Add micronaut server tests and imporovements
* Generate samples, docs and verify that tests pass
* Update micronaut docs and samples after merging with master
* Update micronaut dev server samples
* Add micronuat server docs
* Update micronaut version
* Minor changes to micronaut server and client
* Fix documentation generation in samples
Co-authored-by: Andriy Dmytruk <andriy.dmytruk@andriy.dmytruk.ca.oracle.com>
* Installs python3.9 in node3
* Moves python clients into separate node so they can use a docker image
* Installs java and maven into docker
* Switches off some python tests
* Support Helidon MP server using Helidon 2.4.1
Signed-off-by: tim.quinn@oracle.com <tim.quinn@oracle.com>
* Add unrelated changed sample file(s) after rebase
* Updated generated samples file after rebasing again
* Remove incorrectly 'git add'ed generated file
* Revert "Revert "Has generators set default template engine (#11245)" (#11316)"
This reverts commit 57987424a4.
* Only loads in the default template engine if the config file contains the generatorName
* Only sets templatingEngineName using condif default in one place
* Adds config files that lack generatorName
* Revert "Adds config files that lack generatorName"
This reverts commit 7dafc93c0f.
* Adds generator default templating engine to the generator metadata
* add default auth
* private
* default when optional params and fix types
* build samples
* remove extra space
* re-add space before default empty
* switch to default authentication method support in config
* generated samples
* null check chaining
* generate samples
* remove extra spaces
* regen samples
* formatting fixes
* more samples
* remove from abstract methods
* samples
* add default to inversify as well
* samples again
* exclude inversify
* samples once more
* samples
* Implement DocumentationProviderFeatures and integrate it in AbstractJavaCodegen
* Integrate DocumentationProviderFeatures in SpringCodegen
* Run new test config spring-boot-springdoc
* Do not use Locale.ROOT
* Do not use Locale.ROOT, use NONE instead of empty list
* Revert "Do not use Locale.ROOT"
This reverts commit a0d6aac92b.
* Do not use forbidden APIs
* Fix spring maven plugin example
* Introduce DocumentationProviderFeaturesTest.java
* replace AUTO with preferredAnnotationLibrary
* remove sout.println from Test
* Apply code style.
* Update spring sample configuration to use the new property
* Update samples after merge
* fix atBean import
* Generate all samples
* Add ParameterObject to test
* Allow Subclasses to opt out
* Use OpenAPI 2 (fka Swagger RESTful API Documentation Specification) instead of just "Swagger"
* export generator docs
* Fix typo
* Fix typo - update docs.
* [go] use regular stdlib import names
* [go] support primitive oneOf types
See #8489
* [go] improve pbv/pbr handling
Improves the way pass-by-value and pass-by-reference variables are used.
Closes#8489
* [go] improve generated documentation
* [go] adopt pointer changes in interface
* [go] regenerate sample
* [go] resolve pointer issues
* [go] regenerate clients and avoid pointers on primitive return values
* [go] improve Exec() return value handling
* [go] regernate files
* [go] use go modules
* [go] properly handle polymorph decode
If polymorphism without discriminator was used, the previous code was unable to properly decode the vaules. By using a strict decoder, which rejects unknown fields, type guessing now works.
* [go] make GetActualInstance not panic on nil
* [go] return GenericOpenAPIError as pointer
* [go] clarify helper function godoc
* [go] address test regression error type
* [go] regenerate go samples
* [go] resolve go mod issues and test regressions
* [go] resolve merge conflicts and regenerate
* [go] resolve merge conflicts
* [go] Replace spaces with tabs
Co-authored-by: Jiri Kuncar <jiri.kuncar@gmail.com>
* [go] Replace spaces with tabs
Co-authored-by: Jiri Kuncar <jiri.kuncar@gmail.com>
Co-authored-by: Jiri Kuncar <jiri.kuncar@gmail.com>
* * Use Relative Imports for org.springframework.core.io.Resource
* api.mustache: Add operationId to atOperation annotation
* Overhaul atSchema annotation in model
* Add spring-stubs-oas3.yaml test config
* Optimize mustache templates
* Use Relative Imports for DateTimeFormat, Pageable and ApiIgnore
* Add spring-stubs-oas3.yaml test config
* Generate all samples
* Explain fromOperation override to support more logic-less templates.
* Support RootUriTemplateHandler from spring-boot
* Revert "Support RootUriTemplateHandler from spring-boot"
This reverts commit 1915f8b19e.
* Evaluate additional property useSpringfox as Boolean
* Generate all samples after merge (java-camel)
* Fix typo
* Move java-camel test deom samples.circleci.spring to samples.circleci profile.
* re-generate all samples after merge
* Generate samples and docs after merge
* Generate samples after merge conflicts resolved
* remove import mapping logic in model generation, better handle of file, list
* add new files for file, list
* fix some tests
* update tests, doc
* skip file as reserved word in feign client
* add new files
* remove file from reserved word list in spring generator
* Default TypeScript fetch configuration to 3.6+ true, as it's been out for a while now
* TypeScript fetch update the three plus CLI option default to true
* Apply doc generator patch
* Build the project and update samples
* remove VERSION
* test ts fetch clients first
* Revert "test ts fetch clients first"
This reverts commit 590a7f2d30.
Co-authored-by: szTheory <szTheory@users.noreply.github.com>
* Turns python-legacy CI back on in circle, fixes python-legacy test
* Installs python 2.7 into circleci node 3
* Python 2.7 version changed to 2.7
* Switches back to py2714
* [Java][Native] Fix the Content-Type and Accept headers that were forced to application/json
* Update the generated samples after fixing issue no. 6779
* [Python] Allow the user to pass in any headers per request
* Update docs
* Update docs
Update Docs _headers
* Add test
Co-authored-by: Rizwan Saeed <rizwan.saeed@finbourne.com>
* Created Apache Camel language
* Added unit test
* Fix template dir
* Fix description api
* Camel Dataformat Properties
* Apache Camel Doc
* Apache Camel Doc
* Apache Camel Doc
* Apache Camel maven plugin example
* Fix LOGGER
* Samples
* Camel 3.14
* Samples
* samples
* up to date
* Rename camel to java-camel
* up to date
* Fix SerializedName in modules/openapi-generator/src/main/resources/JavaSpring/pojo.mustache
* [BUG][csharp-netcore] Fix Multi Files for the some FormField (#11132)
Make FileParamerts a Multimap to enable sending more than one file with the same key.
* update documentation for csharp-netcore
* Adds generatorLanguageVersion and uses it in python generators
* Regenerates docs
* Adds stability to generator docs
* Triple braces generatorLanguageVersion
* Regenerates samples
* Fixes the python-experimental setup.py file so it works with generatorLanguageVersion
* Updates generators readme
* Refactors generator md creation, adds generateMdMetadata
* Removes extra space
* Adds docs updates
* Fixes table definition for metadata
* Docs update
* Docs update
* Updates title, removes sidebar_label because it was not doing anything on pages like https://openapi-generator.tech/docs/generators/android
* Docs updated
* Fix extra m that prevents qt cpp server to build (#11176)
* Fix regular expression to capture IDs on path (#11176)
* Fix build issue missing QHttpEngine namespace (#10706)
* fixing precision for php
* remove a bracket
* handling whitespace
* format comment
* Use regexp to trim needless microseconds
That way we can save timezone suffix.
Co-authored-by: Carmen Quan <cquan@launchdarkly.com>
* Add support for asynchronous API for JavaJaxRsSpec
https://github.com/OpenAPITools/openapi-generator/issues/4832
* Ran the requested command for a PR
Run the following to build the project and update samples:
./mvnw clean package
./bin/generate-samples.sh
./bin/utils/export_docs_generators.sh
* Set java 8 mode when using supportAsync=true
`CompletionStage` are only introduced since 1.8, enabling async should for use java8
Co-authored-by: Thomas Bredzinski <thomas.bredzinski@gemalto.com>
* fix: Make dart2 generated code compilable
* Update dart2 client samples
* Re-add deleted test files
* Lower dart version to 2.12
* Make username and pass not null in http basic auth
* Delete json_serializable
* Make growable false by default
* Make value not nullable
* Remove redundant null check
* Revert linter fix
* Provide required username and pass
* Revert initial abstractDartCodeGen changes
* Revert removing dart pom module
* Revert removing dart pom module
* Lower minimum dart version to 2.12
* Disable dart2 tests generation
* Disable petstore_client_lib
* Disable samples/openapi3/client/petstore/dart2/petstore
* Re-add dart2 tests
* Add new tests
* Delete empty directory
* api_client.mustacheUpdate
added optional HttpBearerAuth so you can add the token directly on the ApiClient
* Update api_client.dart
auto generated files for build
* Update api_client.dart
Autogenerated files for buiild
* Make mapDateTime nullable and add ! after json mapping
* Fix warning on Future<?>
* Fix warning on Future<?>
* Dont insert unused param to constructor
* Modified Dart2 Mustache template.
* Regenerated Petstore source code.
* Remove extra code to sync with agilob's pr.
* Regenerated Petstore source code.
* Fix a couple of reported bugs.
* Regenerated Petstore source code.
* Make properties non-nullable.
* Regenerated Petstore source code.
* Do not trim user input before submitting.
* Regenerate Petstore source code.
* Regenerate Petstore source code.
Co-authored-by: Kate Döen <kate@stack11.io>
Co-authored-by: Artur Powroznik <arturp@backbase.com>
Co-authored-by: devjakobsen <94956607+devjakobsen@users.noreply.github.com>
Co-authored-by: Noor Dawod <noor@fine47.com>
* Oas3: Remove swagger2 ApiModel and ApiModelProperty from imports when oas3 is true.
* Oas3: Use either swagger v2 or v3; add test config
* Oas3: allowableValues and defaultValues belong to the Schema annotation
* Oas3: use swagger-core.version property in all pom.xml
* gh-11165 remove io.swagger.v3.oas.annotations.parameters.RequestBody
* gh-11168 add import for io.swagger.v3.oas.annotations.Hidden
* Fix formParams.mustache, add dedicated test scripts for the spring generator using oas3.
* Run ./bin/generate-samples.sh
* Run ./bin/generate-samples.sh - new samples
* fix indentation
* Revert to threetenbp 2.9.10 because customInstantDeserializer.mustache is not compatible with threetenbp > 2.9.10.
* apiController.mustache: pull in osa3 imports.
* apiDelegate.mustache: remove io.swagger.annotations.* import
* Remove Hidden (import and usage). Wrap atApiIgnore with useSpringfox.
* fully qualify org.springframework.data.domain.Pageable because endorExtensions.x-spring-paginated is not set during import processing.
* align spring-cloud and spring-boot pom.mustache regarding springfox and oas versions.
* introduce dateTimeParam.mustache
* Apply DateTimeFormat consistently across different parameter types
* revert to springfox 2.9.2
* add newline after parameter
* fix atSchema annotation (use empty description)
* add more spring-*-oas3 test configs
* Update bin/config/spring* test samples
* Fix implicitHeader.mustache - add import, generate use paramDoc.
* rename spring-boot-implicitHeaders-oal3.yaml to spring-boot-implicitHeaders-oas3.yaml
* Add spring oas3 configs to samples.circleci profiles module list
* Use groupId 'org.openapitools.openapi3' for oas3 configs
* Run all spring test configs.
* In OAS3, allowableValues is a String[] array.
* formParams.mustache: Align spacing and newlines with other param templates
* Support @Parameter(hidden = true) instead of ApiIgnore, Formatting: One parameter per line.
* Format method level annotations in api.mustache
* Introduce samples.circleci.spring profile
* Generate all spring samples
* first commit: add cli option for saga and records. Added dummy sagas.mustache test file.
* More progress with default values. First prototype for isEntity and isUniqueId.
* record generation complete
* record generation complete
* progress with saga generation
* progress with saga generation
* first fully working saga generation
* merge with latest master
* removed unneeded "items" properties.
* moved global CodegenModel modifications into subclass ExtendedCodegenModel used exclusively by TypescriptFetchClient. Adding missing samples files.
* moved global CodegenOperation modifications into subclass ExtendedCodegenOperation used exclusively by TypescriptFetchClient.
* moved global CodegenProperty modifications into subclass ExtendedCodegenProperty used exclusively by TypescriptFetchClient.
* moved global CodegenParameter modifications into subclass ExtendedCodegenParameter used exclusively by TypescriptFetchClient.
* added the missing "allSagas" export.
* renamed & reworked "meta data response" flags to a more useful general concept of "operation return passthrough"
* added vendor flag keepAsJSObject as escape hatch to support circular dependencies in models and other special cases. Also fixed issues with default values for some records properties.
* added autodetection for passthrough to simplify standardised specs.
* fix small issue with passthrough void
* fix small issues with passthrough void and missing passthrough imports in some cases. Fix issues with enum default values.
* fix small issues with passthrough void and missing passthrough imports in some cases. Fix issues with enum default values.
* Added "reservedRecordField" feature to support remapping fields names that cannot be used in Records. Added missing export to record: toApi().
* added uniqueId inference. Fix small generation when uniqueId property is an array.
* removed feature "reservedRecordField" and replaced it with existing built-in "reserved words" feature. Fix minor issues with typings in generated files.
* Changed api recType names to make them less likely to cause name conflicts. Added generated ApiEntities (record, reducer & selector) files.
* Moved location of ApiEntities related files and fix issues with exports.
* - merge latest master
- renamed fake test apis to better fit the "pet theme"
- added mode for "SourceOnlyLibrary" (same as used in codegen typescript jquery)
* - missing ganarate sampless
* - Modified way to export apiEntitiesSelectpr to reduce typescript analysis time for consuming project. Removed tab characters in mustache files. Reformat code for TypeScriptFetchClientCodegen to try to remove false positive for tabs vs spaces.
* - added markErrorsAsHandled property to api sagas. Increased typescript version to address some typing errors on library build.
* - fix bug in saga interfaces. Upgraded to typescript "strict" mode to ensure proper typechecking info is generated.
* - added optional id for apiEntity selectors. Added toInlined() support to convert an entity to an inlined model recursively.
* - minor tweak for apiEntitySelector to accept null id
* - minor tweak for apiEntitySelector
* - runned ensure up to date.
* Revert "- runned ensure up to date."
This reverts commit ea9b4aed
* - runned ensure up to date.
* - runned ensure up to date.
* - added more enhancements: New "toInlined" functionality. Support for more complex double array types. apiBaseConfiguration is not sent completely for Api.init().
* - merge master
* - fix generated api bug in some cases for typescript fetch when no request params are present.
* - commented broken tests
* - fix generate samples analysis.
* - work in progress for playframework swagger upgrade
* - first working output for playframework with oauth support for access code flow.
* update surefire to newer version
* added new sample project "...playframework-with-security.yaml" and improved tab in generated output for controllerImp files.
* split SecurityAPIUtil into more granular and useful functions.
* minor fix to have tab instead of spaces in securityapiutils mustache file
* added missing generated samples.
* added missing securityAPIUtils injection in generated "Controller" classes when "useInterfaces = false"
* added missing securityAPIUtils import
* added missing securityAPIUtils import for no-interface samples files.
* minor tweak: changed order of import for securityApiUtils
* minor tweak: changed order of import for securityApiUtils
* fix: securityApiUtils was incorrectly declared with "throws Exception"
* minor code tweak.
* fix potential runtime throw in SecurityApiUtils if playframework configuration variables are not found. fix minor issue with space vs tab in mustache files. Fix compilation issues in some cases when using async mode.
* run ensure-up-to-date and generate-samples
* Revert "run ensure-up-to-date and generate-samples"
This reverts commit da4d3ac755.
Co-authored-by: Bruno Flamand <bflamand@stingray.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
* feat(ISSUE-11033): add null encodable type and mustache changes
* feat(ISSUE-11033): regen all swift5 samples
* feat(ISSUE-11033): add swift5 examples of null encodable
* feat(ISSUE-11033): fix hashable and compliation issues
* fix(ISSUE-11033): fix tests by using new enum encodeValue
* fix(ISSUE-11033): fix tests by using new enum encodeValue
* fix(ISSUE-11033): revert status back in pet api test
* fix(ISSUE-11033): fix issue with objc compat generator
* feat(ISSUE-11033): restore default values to null encodables
* chore(ISSUE-11033): rename default value for null encodable
* chore(ISSUE-11033): add test cases with different nullable defaults
* Handle \SplFileObject before primitive(to avoid php8 settype() error)
* Add test case
* Add array check to fix type error
Code throws error:
array_key_exists() expects parameter 2 to be array, null given
When $httpHeaders argument is null.
Co-authored-by: Yuriy Belenko <yura-bely@mail.ru>
Previously, rust-client generator disregarded collectionFormat property of
multi-value parameters. Now we support following values in collectionFormat: "",
"csv", "multi".
You can review changes this creates for fairly sizable project at https://github.com/CrowdStrike/rusty-falcon/pull/33/files
* Change packages order alphabetically
* Add PHP-DI package to Composer template
* Remove ContainerInterface from APIs
User shouldn't access container directly, it's an anti-pattern.
Ref: https://php-di.org/doc/best-practices.html#rules-for-using-a-container-and-dependency-injection
* Change app templates to use PHP-DI
Application looks more like a default Slim skeleton now.
Ref: https://github.com/slimphp/Slim-Skeleton
* Rename SlimRouter to RegisterRoutes
Since it's callable class new name fits better.
* Add short documentation
* Refresh samples
* Fixed issue 11021 by changing the responseType to blob for accept headers that don't match text or json.
* Updated samples.
* Updated inline json pattern matching with an existing utility method.
* Updated samples.
* Fixed isJsonMime call.
* Updated samples.
* Fixed default response type of json when accept header is not given.
* Updated samples.
* [typescript-axios] Add new option to generate imports from 'url'
* Added new option `withImportUrl` to be used to generate the imports needed
for NodeJS support without adding DOM to TypeScript libs
* [typescript-axios] Add withImportUrl support to templates
* Generate imports from 'url' if withImportUrl is set to true
* [typescript-axios] Generate new samples using withImportUrl
* [typescript-axios] Add withImportUrl to documentation
* [typescript-axios] Regenerate docs, build was still ongoing and used old param name
* [typescript-axios] Rename withImportUrl to withNodeImports
* Rename the parameter to support other Node imports
* Add imports for form-data too if using multipartFormData
* Add fix for multipart headers when running in Node with form-data package
* Add basic jvm-volley folder to enable it as a library
* Add JVM_VOLLEY to the KotlinClientCodegen as a library option (using Retrofit2 processing for now)
* Temporary checkin of generated code and kotlinfied version for use in new template
* Added Kotlin-ified api invoker and request objects, update Kotlin client codgen for volley
* Add Android specific build.gradle mustache file to jvm-volley library
* Hardcode SDK version and build tools version in build.gradle template, add extra repository for Android Gradle build tools
* Add Android manifest to generated code
* Add Kotlin dependencies and plugins to build gradle template
* WIP: Create basic API templating for jvm-volley
* Add ApiException and parameter validation, create path variable using ApiInvoker
* Build queryParams and headerParams
* Add VolleyRequest template
* WIP: Injecting context and default API invoker into APIs (non compiling)
* Add DefaultInvoker stub and update API to inject context
* Add request queue generation to the DefaultInvoker
* Fix up compile errors in the invoker
* Cleanup unrequired templates
* Update templates
* Add constructor overloads to inject stack or network into request queue
* Fix compile errors with request queue generation
* Fix compile errors
* Al'll fix it for you.....
* WIP compile fixes
* More compile fixes
* Generate to java directory and kotlin-ify auth code
* More syntax fixes in templates
* Almost left it in a working state, fixing that .... now...
* Switch builder method based on model existence constraints - body and response
* Add coroutine logic to APIs and pass through listeners to the requests, various other fixes.
* Use reflection and type tokens to work around clazz issues on generics
* Add POST, PATCH and PUT to RequestFactory
* More templating magic
* Fix Steve, the human compiler's errors again !
* Add CLI option for generating room models
* Configure the room model package
* Add initial room model templating and generation
* Add room model generation implementation
* Implement toRoom function on models to convert model to room model
* Bug fixes, transformers to and from room models
* Add query parameters to URL generation
* Fix issues with gson type conversion, add type adapters to gson instance
* Fix issues with older API versions and Java8 libraries,
* Add request factory interface
* API template tidy up
* Update IRequestFactory to include companion object, minor tidy ups
* Remove @Keep annotations from room templates
* Rename toRoomModel and toApiModel functions
* Add empty companion object to generated room model
* Add ITransformStorage interface to allow polymorphic transforms to room models
* Add content type into GsonRequest
* Move gson serialization of request body into GsonRequest
* Update request factory to take header factories
* Remove the generated comparision code
* Move the generateRoomModels switch into the KotlinClientCodegen class
* Move room model generation out of default generator
* Updates for auth
* Finalise removal of kotlin elements from default generator
* Hoist room model logic out of abstractKotlin into kotlin client codegen
* Revert AbstractKotlinCodegen
* Revert Codegen constants to remove base generator changes out of our new library
* Revert data class template changes, add data class body check to Kotlin Client codegen
* Add sample generation yaml file for jvm-volley library
* Update JVM-Volley readme for generateRoomModels flag
* Remove unused template files, get auth compiling but non functional, clean build of warnings
* Generate sample generated code
* Add not implemented method for oauth
* Add unit test for KotlinClientCodegen generateRoomModel flag
* Remove accidental hard coding of src/main/java source folder
* Push changed generated sample files
* Move and rename IStorable inside the volley library
* Inject retry policy into API definition, re-run sample and doc scripts
* Add generic post processors
* Update samples after generator changes
* Fix some compile errors with the pet store sample
* Fix duplicate auth companion object and import generation
* Reinstate query and form parameter code generation
* Add check for unsupported serialization libraries
* Fix broken unit tests
* Regenerate samples
* AN-233 Update request factory to allow custom gsonadapters
* update `GsonRequest.mustache` and `RequestFactoy.mustache` to use `Map<Type, Any>` instead of `Map<Type, Object>` to better fit kotlin conventions
* Update readme with better examples and design notes
* Update readme with info about gson serializers and adapters for polymorphic types
* Updated samples
* Merge from upstream
* Address review comments
* Update samples
* Samples
* Update docs
* Remove DateAdapter generated file, template and it's inclusion as a supporting file in favour of localDateTime
* Review comment cleanup for initial PR #10253 - cleaner auth key in parameter string handling
* Review comment - add a kotlin version parameter to the build scripts
* Updated samples
* Missing changes from build.mustache
* Regenerate samples for build.gradle changes
* Merge from master and generate samples
* Remove serializer as a supporting file from jvm-volley - it's serialisation is not a singleton and configured differently via gson request and dependency injection
* Remove singleton serializer from jvm-volley generation as it's not used
Co-authored-by: Alister Shipman <alister.shipman@greater.com.au>
Co-authored-by: Steve Telford <steven.telford@greater.com.au>
Co-authored-by: Leigh Cooper <leigh.cooper@greater.com.au>
Co-authored-by: Michael Hewett <y2trooper@gmail.com>
* replace replaceSpecialCharacters in enum var names
* test special characters in enum var names
* ./bin/utils/export_docs_generators.sh
* bring back replacement check for whole string
* Revert "./bin/utils/export_docs_generators.sh"
This reverts commit 63dfd33dd3.
Co-authored-by: Michael Brügmann <mail@michael-bruegmann.de>
* Further K6 OpenAPI generator enhancements
* request body example data extraction
* request grouping and ordering
* response visibility
* request data extraction for chaining requests
Signed-off-by: Michael H. Siemaszko <mhs@into.software>
* Further K6 OpenAPI generator enhancements
- regenerated samples
Signed-off-by: Michael H. Siemaszko <mhs@into.software>
* Fix suggested changes by linter
* Fix extra spaces in the template
* Log exception
* Rename function signature to camelCase
* Address comments on Big-O
* Move declaration of variable near the usage
* Add config file for generating k6 script
* Regenerate k6 script
* Regenerate samples
* Fix predicate
* Fix missing import
Co-authored-by: Michael H. Siemaszko <mhs@into.software>
# The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. In 2.0 you can choose where in the course of a job your code should be checked out.
- checkout
# Prepare for artifact and test results collection equivalent to how it was done on 1.0.
# In many cases you can simplify this from what is generated here.
# 'See docs on artifact collection here https://circleci.com/docs/2.0/artifacts/'
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
# Save test results
- store_test_results:
path:/tmp/circleci-test-results
# Save artifacts
- store_artifacts:
path:/tmp/circleci-artifacts
- store_artifacts:
path:/tmp/circleci-test-results
command_docker_build_and_test:
parameters:
nodeNo:
default:"0"
type:string
steps:
# Machine Setup
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
# The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. In 2.0 you can choose where in the course of a job your code should be checked out.
- checkout
# Prepare for artifact and test results collection equivalent to how it was done on 1.0.
# In many cases you can simplify this from what is generated here.
# 'See docs on artifact collection here https://circleci.com/docs/2.0/artifacts/'
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
# The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. In 2.0 you can choose where in the course of a job your code should be checked out.
- checkout
# Prepare for artifact and test results collection equivalent to how it was done on 1.0.
# In many cases you can simplify this from what is generated here.
# 'See docs on artifact collection here https://circleci.com/docs/2.0/artifacts/'
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` (5.3.0), `6.0.x`
- [ ] File the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master` (6.0.1) (patch release), `6.1.x` (breaking changes with fallbacks), `7.0.x` (breaking changes without fallbacks)
- [ ] If your PR is targeting a particular programming language, @mention the [technical committee](https://github.com/openapitools/openapi-generator/#62---openapi-generator-technical-committee) members, so they are more likely to review the pull request.
- if [ $(ls -A "$HOME/.phpenv/versions/8.1.4" | wc -l) -eq 0 ]; then
phpenv install 8.1.4;
fi;
- phpenv rehash
- phpenv versions
- phpenv global 7.2.15
#- phpenv global 7.2.15
- phpenv global 8.1.4
- php -v
# comment out below as installation failed in travis
# Add rebar3 build tool and recent Erlang/OTP for Erlang petstore server tests.
@@ -97,11 +106,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).
[](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.openapitools%22%20AND%20a%3A%22openapi-generator%22) [](./LICENSE) [](https://opencollective.com/openapi_generator) [](https://join.slack.com/t/openapi-generator/shared_invite/enQtNzAyNDMyOTU0OTE1LTY5ZDBiNDI5NzI5ZjQ1Y2E5OWVjMjZkYzY1ZGM2MWQ4YWFjMzcyNDY5MGI4NjQxNDBiMTlmZTc5NjY2ZTQ5MGM) [](https://twitter.com/oas_generator)
[](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.openapitools%22%20AND%20a%3A%22openapi-generator%22) [](./LICENSE) [](https://opencollective.com/openapi_generator) [](https://join.slack.com/t/openapi-generator/shared_invite/zt-12jxxd7p2-XUeQM~4pzsU9x~eGLQqX2g) [](https://twitter.com/oas_generator) [](https://gitpod.io/#https://github.com/OpenAPITools/openapi-generator)
[](https://github.com/OpenAPITools/openapi-generator/actions?query=workflow%3A%22Check+Supported+Java+Versions%22)
| 6.0.0 (upcoming major release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/6.0.0-SNAPSHOT/) | Jan/Feb 2022 | Minor release with breaking changes (no fallback) |
| 5.4.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/5.4.0-SNAPSHOT/) | Dec 2021 | Minor release with breaking changes (with fallback) |
| [5.3.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v5.3.0) (latest stable release) | 24.10.2021 | Minor release with breaking changes (with fallback) |
| 7.0.0 (upcoming major release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/7.0.0-SNAPSHOT/) | Feb/Mar 2023 | Major release with breaking changes (no fallback) |
| 6.1.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/6.1.0-SNAPSHOT/) | 26.07 2022 | Minor release with breaking changes (with fallbac) |
@@ -139,7 +141,7 @@ You can find our released artifacts on maven central:
<version>${openapi-generator-version}</version>
</dependency>
```
See the different versions of the [openapi-generator](https://mvnrepository.com/artifact/org.openapitools/openapi-generator) artifact available on maven central.
See the different versions of the [openapi-generator](https://search.maven.org/artifact/org.openapitools/openapi-generator) artifact available on maven central.
**Cli:**
```xml
@@ -149,7 +151,7 @@ See the different versions of the [openapi-generator](https://mvnrepository.com/
<version>${openapi-generator-version}</version>
</dependency>
```
See the different versions of the [openapi-generator-cli](https://mvnrepository.com/artifact/org.openapitools/openapi-generator-cli) artifact available on maven central.
See the different versions of the [openapi-generator-cli](https://search.maven.org/artifact/org.openapitools/openapi-generator-cli) artifact available on maven central.
**Maven plugin:**
```xml
@@ -159,7 +161,7 @@ See the different versions of the [openapi-generator-cli](https://mvnrepository.
<version>${openapi-generator-version}</version>
</dependency>
```
* See the different versions of the [openapi-generator-maven-plugin](https://mvnrepository.com/artifact/org.openapitools/openapi-generator-maven-plugin) artifact available on maven central.
* See the different versions of the [openapi-generator-maven-plugin](https://search.maven.org/artifact/org.openapitools/openapi-generator-maven-plugin) artifact available on maven central.
@@ -170,23 +172,23 @@ See the different versions of the [openapi-generator-cli](https://mvnrepository.
<version>${openapi-generator-version}</version>
</dependency>
```
* See the different versions of the [openapi-generator-gradle-plugin](https://mvnrepository.com/artifact/org.openapitools/openapi-generator-gradle-plugin) artifact available on maven central.
* See the different versions of the [openapi-generator-gradle-plugin](https://search.maven.org/artifact/org.openapitools/openapi-generator-gradle-plugin) artifact available on maven central.
For **Windows** users, you will need to install [wget](http://gnuwin32.sourceforge.net/packages/wget.htm) or you can use Invoke-WebRequest in PowerShell (3.0+), e.g.
(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.3.0/openapi-generator-cli-5.3.0.jar)
You can also download the JAR (latest release) directly from [maven.org](https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.0.1/openapi-generator-cli-6.0.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`
@@ -576,6 +578,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
@@ -711,8 +727,8 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 2019/01/30 - [Rapid Application Development With API First Approach Using Open-API Generator](https://dzone.com/articles/rapid-api-development-using-open-api-generator) by [Milan Sonkar](https://dzone.com/users/828329/milan_sonkar.html)
- 2019/02/02 - [平静を保ち、コードを生成せよ 〜 OpenAPI Generator誕生の背景と軌跡 〜](https://speakerdeck.com/akihito_nakano/gunmaweb34) by [中野暁人](https://github.com/ackintosh) at [Gunma.web #34 スキーマ駆動開発](https://gunmaweb.connpass.com/event/113974/)
- 2019/02/20 - [An adventure in OpenAPI V3 code generation](https://mux.com/blog/an-adventure-in-openapi-v3-api-code-generation/) by [Phil Cluff](https://mux.com/blog/author/philc/)
- 2019/02/26 - [Building API Services: A Beginner’s Guide](https://medium.com/google-cloud/building-api-services-a-beginners-guide-7274ae4c547f) by [Ratros Y.](https://medium.com/@ratrosy) in [Google Cloud Platofrm Blog](https://medium.com/google-cloud)
- 2019/02/26 - [Building APIs with OpenAPI: Continued](https://medium.com/@ratrosy/building-apis-with-openapi-continued-5d0faaed32eb) by [Ratros Y.](https://medium.com/@ratrosy) in [Google Cloud Platofrm Blog](https://medium.com/google-cloud)
- 2019/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 Platform Blog](https://medium.com/google-cloud)
- 2019/02/26 - [Building APIs with OpenAPI: Continued](https://medium.com/@ratrosy/building-apis-with-openapi-continued-5d0faaed32eb) by [Ratros Y.](https://medium.com/@ratrosy) in [Google Cloud Platform Blog](https://medium.com/google-cloud)
- 2019-03-07 - [OpenAPI Generator で Spring Boot と Angular をタイプセーフに繋ぐ](https://qiita.com/chibato/items/e4a748db12409b40c02f) by [Tomofumi Chiba](https://github.com/chibat)
- 2019-03-16 - [A Quick introduction to manual OpenAPI V3](https://vadosware.io/post/quick-intro-to-manual-openapi-v3/) by [vados](https://github.com/t3hmrman) at [VADOSWARE](https://vadosware.io)
- 2019-03-25 - [Access any REST service with the SAP S/4HANA Cloud SDK](https://blogs.sap.com/2019/03/25/integrate-sap-s4hana-cloud-sdk-with-open-api/) by [Alexander Duemont](https://people.sap.com/alexander.duemont)
@@ -771,6 +787,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 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/)
- 2019-12-03 - [A Road to Less Coding: Auto-Generate APILibrary](https://www.corda.net/blog/a-road-to-less-coding-auto-generate-apilibrary/) at [Corda Blog](https://www.corda.net/blog/)
- 2019-12-04 - [Angular+NestJS+OpenAPI(Swagger)でマイクロサービスを視野に入れた環境を考える](https://qiita.com/teracy55/items/0327c7a170ec772970c6) by [てらしー](https://twitter.com/teracy55)
- 2019-12-05 - [Code generation on the Java VM](https://speakerdeck.com/sullis/code-generation-on-the-java-vm-2019-12-05) by [Sean Sullivan](https://speakerdeck.com/sullis)
- 2019-12-17 - [OpenAPI Generator で OAuth2 アクセストークン発行のコードまで生成してみる](https://www.techscore.com/blog/2019/12/17/openapi-generator-oauth2-accesstoken/) by [TECHSCORE](https://www.techscore.com/blog/)
- 2019-12-23 - [Use Ada for Your Web Development](https://www.electronicdesign.com/technologies/embedded-revolution/article/21119177/use-ada-for-your-web-development) by [Stephane Carrez](https://github.com/stcarrez)
- 2019-12-23 - [OpenAPIのスキーマを分割・構造化していく方法](https://gift-tech.co.jp/articles/structured-openapi-schema) by [小飯塚達也](https://github.com/t2h5) at [GiFT, Inc](https://gift-tech.co.jp/)
@@ -824,17 +841,17 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 2021-01-18 - [「アプリ開発あるある」を疑うことから始まった、API Clientコードの自動生成【デブスト2020】](https://codezine.jp/article/detail/13406?p=2) by [CodeZine編集部](https://codezine.jp/author/1)
- 2021-02-05 - [REST-API-Roundtrip with SpringDoc and OpenAPI Generator](https://blog.viadee.de/en/rest-api-roundtrip) by [Benjamin Klatt](https://twitter.com/benklatt) at [viadee](https://www.viadee.de/en/)
- 2021-02-17 - [REST-API-Roundtrip with SpringDoc and OpenAPI Generator](https://medium.com/nerd-for-tech/rest-api-roundtrip-with-springdoc-and-openapi-generator-30bd27ccf698) by [cloud @viadee](https://cloud-viadee.medium.com/)
- 2021-03-08 - [OpenAPI Generator 工具的躺坑尝试](https://blog.csdn.net/u013019701/article/details/114531975) by [独家雨天](https://blog.csdn.net/u013019701) at [CSDN官方博客](https://blog.csdn.net/)
- 2021-03-08 - [OpenAPI Generator 工具的躺坑尝试](https://blog.csdn.net/u013019701/article/details/114531975) by [独家雨天](https://blog.csdn.net/u013019701) at [CSDN官方博客](https://blog.csdn.net/)
- 2021-03-16 - [如何基于 Swagger 使用 OpenAPI Generator 生成 JMeter 脚本?](https://cloud.tencent.com/developer/article/1802704) by [高楼Zee](https://cloud.tencent.com/developer/user/5836255) at [腾讯云专栏](https://cloud.tencent.com/developer/column)
- 2021-03-24 - [openapi-generator-cli による TypeScript 型定義](https://zenn.dev/takepepe/articles/openapi-generator-cli-ts) by [Takefumi Yoshii](https://zenn.dev/takepepe)
- 2021-03-28 - [Trying out NestJS part 4: Generate Typescript clients from OpenAPI documents](https://dev.to/arnaudcortisse/trying-out-nestjs-part-4-generate-typescript-clients-from-openapi-documents-28mk) by [Arnaud Cortisse](https://dev.to/arnaudcortisse)
- 2021-03-28 - [Trying out NestJS part 4: Generate Typescript clients from OpenAPI documents](https://dev.to/arnaudcortisse/trying-out-nestjs-part-4-generate-typescript-clients-from-openapi-documents-28mk) by [Arnaud Cortisse](https://dev.to/arnaudcortisse)
- 2021-03-31 - [Open API Server Implementation Using OpenAPI Generator](https://www.baeldung.com/java-openapi-generator-server) at [Baeldung](https://www.baeldung.com/)
- 2021-03-31 - [使用OpenAPI Generator實現Open API Server](https://www.1ju.org/article/java-openapi-generator-server) at [億聚網](https://www.1ju.org/)
- 2021-04-19 - [Introducing Twilio’s OpenAPI Specification Beta](https://www.twilio.com/blog/introducing-twilio-open-api-specification-beta) by [GARETH PAUL JONES](https://www.twilio.com/blog/author/gpj) at [Twilio Blog](https://www.twilio.com/blog)
- 2021-04-22 - [Leveraging OpenApi strengths in a Micro-Service environment](https://medium.com/unibuddy-technology-blog/leveraging-openapi-strengths-in-a-micro-service-environment-3d7f9e7c26ff) by Nicolas Jellab at [Unibuddy Technology Blog](https://medium.com/unibuddy-technology-blog)
- 2021-04-27 - [From zero to publishing PowerShell API clients in PowerShell Gallery within minutes](https://speakerdeck.com/wing328/from-zero-to-publishing-powershell-api-clients-in-powershell-gallery-within-minutes) by [William Cheng](https://github.com/wing328) at [PowerShell + DevOps Global Summit 2021](https://events.devopscollective.org/event/powershell-devops-global-summit-2021/)
- 2021-05-31 - [FlutterでOpen Api Generator(Swagger)を使う](https://aakira.app/blog/2021/05/flutter-open-api/) by [AAkira](https://twitter.com/_a_akira)
- 2021-06-22 - [Rest API Documentation and Client Generation With OpenAPI](https://dzone.com/articles/rest-api-documentation-and-client-generation-with) by [Prasanth Gullapalli](https://dzone.com/users/1011797/prasanthnath.g@gmail.com.html)
- 2021-06-22 - [Rest API Documentation and Client Generation With OpenAPI](https://dzone.com/articles/rest-api-documentation-and-client-generation-with) by [Prasanth Gullapalli](https://dzone.com/users/1011797/prasanthnath.g@gmail.com.html)
- 2021-07-16 - [銀行事業のサーバーサイド開発について / LINE 京都開発室 エンジニア採用説明会](https://www.youtube.com/watch?v=YrrKQHxLPpQ) by 野田誠人, Robert Mitchell
- 2021-07-19 - [OpenAPI code generation with kotlin](https://sylhare.github.io/2021/07/19/Openapi-swagger-codegen-with-kotlin.html) by [sylhare](https://github.com/sylhare)
- 2021-07-29 - [How To Rewrite a Huge Codebase](https://dzone.com/articles/how-to-rewrite-a-huge-code-base) by [Curtis Poe](https://dzone.com/users/4565446/publiusovidius.html)
@@ -846,6 +863,14 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 2021-10-17 - [Generate a TypeScript HTTP Client From An OpenAPI Spec In DotNET 5](https://richardwillis.info/blog/generate-a-type-script-http-client-from-an-open-api-spec-in-dot-net-5) by [Richard Willis](https://github.com/badsyntax)
- 2021-11-06 - [スタートアップの開発で意識したこと](https://zenn.dev/woo_noo/articles/5cb09f8e2899ae782ad1) by [woo-noo](https://zenn.dev/woo_noo)
- 2021-11-09 - [Effective Software Development using OpenAPI Generator](https://apexlabs.ai/post/effective-software-development-using-openapi-generator) by Ajil Oomme
- 2021-12-07 - [An Introduction to OpenAPI](https://betterprogramming.pub/4-use-cases-of-openapi-which-are-good-to-know-1a041f4ad71e) by [Na'aman Hirschfeld](https://naamanhirschfeld.medium.com/)
- 2022-01-02 - [Towards a secure API client generator for IoT devices](https://arxiv.org/abs/2201.00270) by Anders Aaen Springborg, Martin Kaldahl Andersen, Kaare Holland Hattel, Michele Albano
- 2022-02-02 - [Use OpenApi generator to share your models between Flutter and your backend](https://www.youtube.com/watch?v=kPW7ccu9Yvk) by [Guillaume Bernos](https://feb2022.fluttervikings.com/speakers/guillaume_bernos) at [Flutter Vikings Conference 2022 (Hybrid)](https://feb2022.fluttervikings.com/)
- 2022-03-15 - [OpenAPI Specでハイフン区切りのEnum値をOpenAPI Generatorで出力すると、ハイフン区切りのまま出力される](https://qiita.com/yuji38kwmt/items/824d74d4889055ab37d8) by [yuji38kwmt](https://qiita.com/yuji38kwmt)
- 2022-04-01 - [OpenAPI Generatorのコード生成とSpring Frameworkのカスタムデータバインディングを共存させる](https://techblog.zozo.com/entry/coexistence-of-openapi-and-spring) in [ZOZO Tech Blog](https://techblog.zozo.com/)
- 2022-04-06 - [Effective Software Development using OpenAPI Generator](https://apexlabs.ai/post/openapi-generator) by Ajil Oommen (Senior Flutter Developer)
- 2022-05-13 - [A Path From an API To Client Libraries](https://www.youtube.com/watch?v=XC8oVn_efTw) by [Filip Srnec](https://www.devoxx.co.uk/talk/?id=11211) at Infobip
- 2022-06-01 - [API First, using OpenAPI and Spring Boot](https://medium.com/xgeeks/api-first-using-openapi-and-spring-boot-2602c04bb0d3) by [Micael Estrázulas Vianna](https://estrazulas.medium.com/)
## [6 - About Us](#table-of-contents)
@@ -857,13 +882,14 @@ OpenAPI Generator core team members are contributors who have been making signif
gradleProperties:"\n# JVM arguments\norg.gradle.jvmargs=-Xmx2024m -XX:MaxPermSize=512m\n# set timeout\norg.gradle.daemon.idletimeout=3600000\n# show all warnings\norg.gradle.warning.mode=all"
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.