* refactor: Clean up _response_types_map formatting
It matches black's behavior of having trailing commas now.
* test: Add test to reproduce #16967
* fix: deserialize responses even if no returnType
Closes#16967
* refactor: Simplify ApiException subclasses
* refactor: Move exception subtype choice to ApiException
* feat: Deserialize error responses and add to exceptions
* test: Add for error responses with model
For model classes with model_something fields, pydantic raises a warning by default:
`Field "model_something" has conflict with protected namespace "model_".`.
These warnings make no sense here, because most users of the generator have established APIs
that they cannot change to conform to pydantic's safety rules.
Pydantic will raise an error if we ever conflict with a current attribute like `model_dump`.
* [Server][Spring] support interface and implementation classes for API controllers
* Omitted new string calls
* Added Log messages
* remove else
* Removed redundant if
* Update missed ;
* Bump up the dart version.
* Add toString on enum.
* [dart-dio/json_serializable] Fix enum converter for non-string.
* [dart-dio/json_serializable] Bump up the dart version only json_serializable.
* [dart-dio/json_serializable] Rename enum value.
* chore: add test to show python bool url params are not lower case
* fix: python parameters_to_url_query template to properly detect booleans
* fix: typo in test
* fix: typo in test
* chore: update test name to snake case and be more descriptive
* [ruby|client] Fix unmarshalling errors of enums inside other objects
Ruby|Client autogenerated model classes for Enums do not expose openapi_one_of
method. Instead they expose openapi_any_of method like:
# List of class defined in anyOf (OpenAPI v3)
def openapi_any_of
[
:String
]
end
Both types (objects and enums) do respond to build() method.
* Regenerate samples
* [Ruby] Add support for gems metadata
This defaults to an empty hash, but can be overridden with any custom
object by the callers via the `gemMetadata` property.
* Regenerate samples
The gemspecs files will now include a metadata field
* Add support for DateTime objects in the Path, Query Params, and as a List
* Fix indentation
* Add an exaple that has dateTimes
Move the date parsing into a common util in the routers.go file.
* Fix compilation issue and regen
* Use the `RequiredError` to handle this case
* Only split on a "," and not an extra 'space' after the ",".
* Support for an endpoint returning a file to a client.
* Spaces to tabs conversion
* Add an example endpoint for download a file
* Regenerate after merging main
* Add support for Enums to be part of the Path and Query
Supports optional Query Enums and Lists of Enums as well
Add an example endpoint that covers the added scenarios
Added an import mapping for the GoServerCodegen for "fmt"
when a model is an enum.
Expanded the Enum Model for the Go Server to have validation.
Copied this logic from the Go Client Enum Model.
* Fix identation of examples
* Pre-allocate the capacity of the slice of Enums to be
the correct size.
* Formatting and updated examples
* Empty-Commit
* Switch to using a map to store the valid enum values
* Fixed pointer derefs missed from previous change in PR
* More fixing of pointer to not pointer
* Create a map for validation and a list of enums for messaging
* Add support for all +json and +xml suffixed media types to generated Go client
* Export JsonCheck and XmlCheck and add external tests
* Remove client_test.mustache
* refactor: Use newlines in _with_http_info call
This prevents too-long lines and matches the style that
black would enforce.
* fix: Do not pydantic-validate function args twice
Closes#15757
* upgrade spring-boot-starter-parent
* upgrade springdoc and swagger-ui
* upgrade v3 swagger-annotations
* generate samples
* upgrade jackson
* fix spring cloud, remove temp comment
Putting "8" instead of "1.8" should be ok, because Spring Boot 3 requires Java 17 anyway, so it should be able to understand that 8 is the same as 1.8.
* generate samples
* upgrade JUnit 5, remove commons-io dependency, remove outdated samples/client/petstore/java/feign/feign10x/ files, generate samples
commons-io dependency was introduced in https://github.com/OpenAPITools/openapi-generator/pull/8484, but I don't see why it would be needed now or back then.
* update gson, generate samples
* update logback
* update feign
* update scribejava
* generate samples
* update httpmime
* okhttp-gson: update commons-lang & okhttp & junit-platform, remove mockito; generate samples
It seems Mockito is not used at all there.
* okhttp-gson: remove unnecessary sample files, generate sample files
* upgrade google-api-client & jersey-common, restore ClientTest, generate samples
* misc. upgrades in jersey2 and jersey3
jersey 3.1.3 is available already, but IntelliJ reports security problems in 3.1.3 and 3.1.2, so I used 3.1.1 instead.
* align some gradle&sbt files with poms, generate samples
* whitespace fix
* support the ability to create apis and models templates in specify folders using the config settings (folder)
* support the ability to create apis and models templates in specify folders using the config settings (folder)
* python: type generated client using Self
This doesn't offer a clear win but this helps for:
* Using modern types and making the typing intent clearer
* Decreasing the need for `from __future__ import annotations`, since a
class can now refer to itself without using its name
* Using more `cls` to automatically refer to the class, instead of
respecifying the class name every time
Self is available from Python 3.11 and is provided in typing_extensions
(since 4.0.0) as a fallback for older versions
See: https://peps.python.org/pep-0673/
See: https://github.com/python/typing_extensions/blob/main/CHANGELOG.md#added-in-version-400
* generate code
The aenum dependency didn't provide any specific improvements over the
stdlib's enum module.
aenum also doesn't provide typing information at the moment.
This removes one dependency and will help for completing the typing of
the generated client.
* In samples/openapi3/client/petstore/python, this reduces the mypy errors from 435 to 178 errors
* In samples/openapi3/client/petstore/python-aiohttp, this reduces the mypy errors from 381 to 124 errors
* In samples/client/echo_api/python, this reduces the mypy errors from 131 to 25 errors
* add float as reserved world
* clean up
* update samples
* Update modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonCodegen.java
Co-authored-by: Jonathan Ballet <jon@multani.info>
* update doc
* uncomment test
---------
Co-authored-by: Jonathan Ballet <jon@multani.info>
* [python] fix TypeError
Signed-off-by: ふぁ <yuki@yuki0311.com>
* [python] update Private model attributes to Class vars
Signed-off-by: ふぁ <yuki@yuki0311.com>
* [python] rename the List of test cases to ListClass
Signed-off-by: ふぁ <yuki@yuki0311.com>
* [python] update samples
Signed-off-by: ふぁ <yuki@yuki0311.com>
* [python] rename the List of v1 test cases to ListClass
Signed-off-by: ふぁ <yuki@yuki0311.com>
* [python] rename the List of v1-aiohttp test cases to ListClass
Signed-off-by: ふぁ <yuki@yuki0311.com>
* update samples
---------
Signed-off-by: ふぁ <yuki@yuki0311.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
* python: improve type generation with more specific typing
* Annotate function parameters
* Remove unused imports
* remove unused files
* remove temporary hack
* remove lock file
* fix Annotated import
* support Python 3.7
* Regenerate code with typing-extensions
* Fix setup.py
* More Pydantic v2 compatibility
* depend on pydantic v2
* fix client_echo tests
* fix JSON serialization
* Fix references
* Skip circular dependency tests for now
* Temporarily hide the "float" property
The "float" property aliases the "float" type and completely breaks the
model: all the properties that were "float" now become the type of the
"float" property instead.
* Fix errors
* Import Literal from typing_extensions
* Fix GitHub Action workflows
* Fix Python 3.7 failure
* Fix quotes
* Apply suggestions from code review
* Fix tests
* split model imports from other modules imports
* fix workflow
* Comment the array unique items convertion, remove set translation
* Replace alias usage
* prioritize mapped discriminators over generated
* update samples with new ordering
* explain reason behind discriminator prioritization
* add new samples
* prioritize explicit mapping over any generated mappings
* update examples to reflect new logic
* update tests to reflect explicit mappings