Faraday 0.16.0 added Faraday::FilePart as an alias to Faraday::UploadIO
and deprecated Faraday::UploadIO. In Faraday 2.0 the deprecated UploadIO
was removed.
Fixes: e12100b033
* [Ruby] Use Ruby autoload to lower memory usage and load times
Fixes#12648
Requiring all models up front can be very expensive in both time and
memory if there are many models. In an example client with 6000 models,
this would consume nearly 400MB of memory and take about 7 seconds to
load. This is mostly unnecessary as most users of the client library
will only actually use a small percentage of the library.
The changes in this commit use Ruby's autoload capability to defer the
loading until the constant is actually used. In that same example client
with 6000 models, when initially requiring the library, the memory
usage dropped to ~20MB and loaded in 0.3 seconds. As the constants are
loaded on-demand, the memory would increase towards that 400MB ceiling,
but if only a few constants are actually used, then memory will never
actually hit that ceiling.
An additional side effect of using Ruby's autoload is that the order of
declaring the constants is not important, as Ruby will naturally load
them in the correct order when they are needed. Thus, this commit obviates
PR #9103 and fixes#4690.
* add option to use autoload in ruby client
* test ruby clients only
* add tests
* update samples
* Revert "test ruby clients only"
This reverts commit 0aaf71cd4c.
* update doc
Co-authored-by: Jason Frey <fryguy9@gmail.com>
* [Java] enum space value must not be generated as underscore
as this is invalid in Java 9
this closes#9607
* script changes
Co-authored-by: Sven Meier <sven@meiers.net>
* Move logic so that it can dynamically be influenced by opts
* Or should it be here?
* We handle the useInlineModelResolver logic in configureGeneratorProperties after processOpts
Co-authored-by: Westerlaken, H.L. (Laurens) <laurens.westerlaken@devolksbank.nl>
* Adds requiredVarsMap
* Fixes imports
* Adds requiredVarsMap to CodegenParameter
* Updates CodegenResponse
* Adds feature to codegenModel
* Fixes codegenProperty
* Switches to getRequiredVarsMap
* Uses curly braces for set definition
* Added blocked examples back n to test spec now that the required bug is fixed
* Sample regenerated
* Handles escaping required property names
* Fixes CI tests
* Samples regenerated
* Samples regnerated
* Fixes test
* fix: [JAVA/SPRING] [#12692] fixed optional config property legacyDiscriminatorBehavior always being overwritten to false in spring codegen
* feat: [JAVA/SPRING] [#12692] spaces instead of tabs
* feat: [JAVA/SPRING] [#12692] spaces instead of tabs in test
* fix: [JAVA/SPRING] [#12692] added comment
* fix: [JAVA/SPRING] [#12692] spaces instead of tabs
* fix: [JAVA/SPRING] [#12692] spaces instead of tabs in test
* Issue 13043: Improved handling of recursive schemas
Converted Exception to a warning when a Schema is doubly added to the includedSchemas list
Broke recursion in a more reasonable place when generating example values
* Addressed comments from PR
* remove @RequestMapping from the apiController.mustache file and add it
to the api.mustache file
* move the defaultBasePath.mustache file in src/main/resources/JavaSpring
so that it commun with all Spring server-side libraries (spring-boot,
spring-mvc). The value of default context path is the value of
contextPath variable.
* added a unit test to verify it
* update the outputDir variable to samples/server/petstore/spring-stubs in
the bin/configs/spring-stubs.yaml file because it generates Spring
server-side classes. And not on the client-side as the output directory
seemed to suggest.
* Results of "generate-samples.sh bin/configs/spring*" command
* Remove default value of url in @FeignClient
* resolve conflicts with origin/master
* merge remote/master into branch
* fix samples after a merge with master
* delete the directory samples/client/petstore/spring-stubs because it
moved to samples/openapi3/...
* add samples/client/petstore/spring-stubs just for the CI build (normally
it is unnecessary))
* delete 3 kotlin class files commited by error in
samples/server/petstore/kotlin-springboot and
samples/server/petstore/kotlin-springboot-reactive
* Update the unit test SpringCodegenTest.doAnnotateDatesOnModelParameters
because one more annotation is generated (@RequestMapping)
Co-authored-by: rpruvost <rpruvost@ITEM-S78402.emea.msad.sopra>
Co-authored-by: rpruvost <rpruvost@ITEM-S78402>
Co-authored-by: rpruvost <rpruvost>
* Ensure CancellationTokenSource disposal in CSharp clients
* Fixed broken BaseValidate in CSharp models
* Ensure final CancellationToken is used in CSharp API clients
* Ensure EmitDefaultValue true for required properties in CSharp clients
* Regenerated samples
* Fixed broken C# ApiClient.ExecAsync disposable resources
* Regens docs in new locations, adds endpoint anchors
* Updates readme links and top of page link
* Model updates so the readme links work
* Samples regenerated
* Adds missing module names to apis and models
* Revert "Issue 13043: converted an exception to a warning for doubly adding schemas to the includedSchemas list (#13070)"
This reverts commit bbf463f727.
* Samples regen
Fixes an issue in python-experimental that was causing a stackoverflow
error.
* Fixed by adding composed schemas to the list of 'includedSchemas'
* Fixed an additional issue that was causing a schema to be added to the
'includedSchemas' list
* Added a unit test with a minimal GeoJson spec to confirm results
* Adds endpoint creation in path modules
* REgens samples
* Adds BaseApi so there can be 2 class interfaces for http method and operationid
* Adds paths init
* Adds enum containing paths
* Uses path enum for endpoint paths
* Adds camel case to undersce converstion in to ineum var name
* Fixes path enum generation
* Moves path api combination module into apis
* Moves tag apis into a tags module
* Adds path_to_api
* Changes module path to paths
* Fixes tag api imports
* Fixes self type in endpoint methods
* Adds test changes
* Adds tag enum
* Adds tag_to_api
* Adds missing tag
* Fixes self types in endpoint methods
* Refactors java endpoint generation to be simpler
* Further refactors generateEndpoints
* Generates one test file per endpoint
* Updates v3 samples
* Fixes endpoint tests, all tests passing now
* Samples regenerated
* Fixes petstore tests
* Generates separate endpoint test methods on each endpoint
* Fixes api docs and enum string values in those docs
* Regenerates samples
* Removes pass to fix tests
* support import mapping
* Remove unused imports
* Remove unused variable
* Not to clear importMapping
* Re-generate samples
* Use same model import path everywhere
* Move import mapping logic from toModelImport method
Co-authored-by: Bodo Graumann <mail@bodograumann.de>
* [kotlin][client] Kotlinx Serialization cleanup
* [kotlin][client] Kotlinx Serialization cleanup
* [kotlin][client] add support for unknown default case with Kotlinx Serialization
* [kotlin][client] add support for unknown default case with Kotlinx Serialization
* [kotlin][client] add support for unknown default case with Kotlinx Serialization
* [kotlin][client] improve Kotlinx Serialization naming
* [kotlin][client] improve Kotlinx Serialization naming
* Tags renamed
* Spec updated to add response bodies
* Adds correct tag to response body routes
* Adds response body autogen tests
* Adds pos test cases, removes dead code
* Adds and uses api_test_partial
* Samples regenerated
* [Typescript] Support text/plain by ObjectSerializer.parse
* generate-samples
* update samples
* clean up spaces
Co-authored-by: William Cheng <wing328hk@gmail.com>
If you send a request with a body and a header greater than 255 characters long there will be an exception. The session->fetch will not return the body in the synchronous way expected.
* Adds post request body routes and test data to spec
* Sample regenerated
* Adds tags and post endpoints
* Uses refs to tests examples in requestBodies
* Stops passing in test_examples into generate_operation
* Adds testCases to MediaType
* Adds refs to test cases in media type
* Adds post request body examples
* Fixes enum 1 ingestion of 1.0
* Only generates test examples when they exist
* Regenerates samples
* Update RestSharp to v108
* Add OAuth2 Application (client_credentials) authentication
* Run generators and fix typos
* Undo accidental python and rust changes
* Add documentation, fix authenticator bug, and fix user agent bug
* Fix tests
Missed some changes in the mustache templates.
Also had to update the `netcoreapp2.0` test project to `netcoreapp3.1` for compatibility with RestSharp
* Switch HttpUtility to WebUtility for compatibility
* skip oauth file generation for httpclient
* fix templates
* remove files, regenerate samples
* add reference to system.web
Co-authored-by: Jared Bates <Jared.Bates@sight-sound.com>
* Update RestSharp to v108
* Add OAuth2 Application (client_credentials) authentication
* Run generators and fix typos
* Undo accidental python and rust changes
* Add documentation, fix authenticator bug, and fix user agent bug
* Fix tests
Missed some changes in the mustache templates.
Also had to update the `netcoreapp2.0` test project to `netcoreapp3.1` for compatibility with RestSharp
* Switch HttpUtility to WebUtility for compatibility
### PR checklist
- [x] Read the [contribution guidelines](https://github.com/openapitools/openapi-generator/blob/master/CONTRIBUTING.md).
- [x] Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
- [x] Run the following to [build the project](https://github.com/OpenAPITools/openapi-generator#14---build-projects) and update samples:
```
./mvnw clean package
./bin/generate-samples.sh
./bin/utils/export_docs_generators.sh
```
Commit all changed files.
This is important, as CI jobs will verify _all_ generator outputs of your HEAD commit as it would merge with master.
These must match the expectations made by your contribution.
You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example `./bin/generate-samples.sh bin/configs/java*`.
For Windows users, please run the script in [Git BASH](https://gitforwindows.org/).
- [x] File the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master` (6.1.0) (minor release - breaking changes with fallbacks), `7.0.x` (breaking changes without fallbacks)
- [x] 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.
This PR greatly reduces the time taken for Java code generation.
**toModelName()** method is invoked numerous times and it was accumulating a lot of time.
This has reduced the Java SDK generation time for our rather large open API spec from ~3h30m hours to 4 mins.
The generated code is the same as before.
spec: https://cdn.intersight.com/components/an-apidocs/1.0.11-7546/model/intersight-openapi-v3-1.0.11-7546.yaml
@wing328
* Perl: separate date and DateTime
- Since the json values to be returned are different for date and DateTime, they are managed separately
* Per: Enforcing Perl types to openAPI types
Perl JSON values return different types depending on the context, so look at openapi's type and modify the type.
* generate samples
* generate docs
* add perl test (json types)
* Spec regenerated with only allOf on
Sample regnerated
Fixes a bug where AnyType composed schemas omitted validations, Fixes a bug where properties in AnyType schemas were omitted, Stops storing multipleOf value in a list
Adds required variable info to AnyType classes
Samples regenerated
Turns all unit tests back on
* Samples regenerated
* Docs and models regenerated
* Added port definition to uriBuilder, since it was ignored before and couldn't be set even by supplying a custom client
* generated samples
* update samples
Co-authored-by: Matthias Lewen-Rieger | PROSPER X GmbH <matthias.lewen-rieger@prosper-x.de>
Co-authored-by: William Cheng <wing328hk@gmail.com>
Commit 1735ab9d27 added changes to set the `jakarta_annotation_version`.
I've recently noticed that when using retrofit2 library, the project builds fine with Maven but fails with Gradle.
The build fails due to `Could not get unknown property 'jakarta_annotation_version' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler`.
Digging into this, in the generated `build.gradle` the `jakarta_annotation_version` is never set.
Upon closer inspection, aforementioned commit seems to indeed set it differently for the Maven build configuration than the Gradle build configuration (same for SBT configuration) for that matter.
The issue is that due to human error the `jakarta_annotation_version` line is added within the `{{#usePlayWS}}` block, meaning it won't be generated when `usePlayWS` is false, even though it should.
This commit changes this to always generate it.
This is a fairly common alternative to `!=`, e.g. in SQL or in DevExtreme filters.
Previously, if one of an enum's variant was just '<>', its entire name would be sanitized away,
resulting in an empty string as symbol name and therefore a syntax error.
* add streaming option to r client
* support callback function to process data stream
* add stream test, minor bug fixes
* fix api client
* return void earlier if streaming, add tests
* Adds test folder file removal in python-exp only
* Samples regnerated
* Removes unused code, tweaks unit test sample to test PR change
* Reverts spec change
* FIxes javadoc
* feat(rust): support various Rust integer types (#2)
* fix: Use ROOT locale
* fix: unsigned int bounds were incorrect
* fix: deal with potential null value
* Resolve language vs. generator ambiguities
Since now "generatorName" is used instead of "language" to specifying what will be generated, some parts of the description were corrected, which were still using "language" instead of "generator".
* Update README.md
* fix typo in openapi-generator-maven-plugin readme
* fix copy&paste error in spring example pom.xml
spring generator is used for java server side code generation, not for client code generation
* fixed copy&paste errors in kotlin example pom.xml
kotlin generator is not used to generate java client code, but kotlin client code.
* [BUGFIX] model_generic.mustache: Display property name instead of its value, when throwing InvalidArgumentExeption() for values not respecting a given pattern
* [AUTOGENERATED] Generated files
This is in line with the OpenAPI specification:
The Responses Object MUST contain at least one response code, and
it SHOULD be the response for a successful operation call.
and excludes the 2XX range response itself.
* 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
# 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.
@@ -50,6 +59,8 @@ commands: # a reusable command with parameters
# This is a broad list of cache paths to include many possible development environments
# You can probably delete some of these entries
- vendor/bundle
- ~/.nvm
- ~/.pyenv
- ~/virtualenvs
- ~/.m2
- ~/.ivy2
@@ -69,6 +80,8 @@ commands: # a reusable command with parameters
# This is a broad list of cache paths to include many possible development environments
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` (6.1.0) (minor release - 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.
@@ -90,7 +90,7 @@ To test the templates, please perform the following:
- Update the Petstore sample by running the shell scripts under the `bin` folder. For example, run `./bin/generate-samples.sh ./bin/configs/python*` to update the Python-related samples under [`samples`](https://github.com/openapitools/openapi-generator/tree/master/samples). For Windows, please install [GIT bash](https://gitforwindows.org/). (If you find that there are new files generated or unexpected changes as a result of the update, that's not unusual as the test cases are added to the OpenAPI spec from time to time. If you've questions or concerns, please open a ticket to start a discussion)
- During development, it can be helpful to quickly regenerate the samples without recompiling all of openapi-generator, e.g. when you have only updated the mustache templates. This can be done by passing the `-t` parameter: `-t modules/openapi-generator/src/main/resources/python`.
- Run the tests in the sample folder using maven `mvn integration-test -f /path/to/pom.xml`, e.g. `mvn integration-test -f samples/client/petstore/python/pom.xml`. (some languages may not contain unit testing for Petstore and we're looking for contribution from the community to implement those tests)
- Run the tests in the sample folder using maven `mvn integration-test -f /path/to/pom.xml`, e.g. `mvn integration-test -f samples/client/petstore/python/pom.xml`. (some languages may not contain unit testing for Petstore and we're looking for contribution from the community to implement those tests). __Please notice:__ you must run a local instance of the Petstore server in order to perform the tests, as running them against petstore.swagger.io is not supported anymore. Please refer to item 3 of [Integration Tests - How to add integration tests for new Petstore samples](https://github.com/OpenAPITools/openapi-generator/wiki/Integration-Tests#how-to-add-integration-tests-for-new-petstore-samples) to learn how to quickly configure and run it.
- Finally, git commit the updated samples files: `git commit -a` (`git add -A` if added files with new test cases)
- For new test cases, please add to the [Fake Petstore spec](https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml)
[](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)
[](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/) | Feb/Mar 2022 | Major release with breaking changes (no fallback) |
| [5.4.0](https://github.com/OpenAPITools/openapi-generator/releases/tag/v5.4.0) (latest stable release) | 31.01.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/) | 03.08 2022 | Minor release with breaking changes (with fallback) |
For **Windows** users, you will need to install [wget](http://gnuwin32.sourceforge.net/packages/wget.htm) or you can use Invoke-WebRequest in PowerShell (3.0+), e.g.
(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.4.0/openapi-generator-cli-5.4.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`
@@ -561,6 +571,7 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
@@ -841,6 +861,12 @@ Here are some companies/projects (alphabetical order) using OpenAPI Generator in
- 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/)
- 2022-07-01 - [Generate API contract using OpenAPI Generator Maven plugin](https://huongdanjava.com/generate-api-contract-using-openapi-generator-maven-plugin.html) by [Khanh Nguyen](https://huongdanjava.com/)
- 2022-07-22 - [使用OpenAPI Generator Maven plugin开发api优先的java客户端和服务端代码](https://blog.roccoshi.top/2022/java/openapi-generator%E7%9A%84%E4%BD%BF%E7%94%A8/) by [Lincest](https://github.com/Lincest)
## [6 - About Us](#table-of-contents)
@@ -987,8 +1013,9 @@ Here is a list of template creators:
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.