Nathan Shaaban c30d3696b0
[rust] basic oneOf support (#13970)
* [rust] basic oneOf support

Suport oneOf as a rust struct enum.

Details:

Enum without a discriminator is untagged being
"untagged" simply means serde won't attempt to
store the name of the enum inside the serialized
object. See
https://serde.rs/enum-representations.html#untagged
for more

Also check to make sure the mapping values
are not an empty object (aka null).

Co-authored-by: Nikita Puzankov <git@bshn.rs>

* refactor: fix clippy lints

No longer needed as of reqwest 0.10, it now takes the response as owned instead of mut ref.

Is not empty is more clear

* fix: discriminator and oneof case

Will show as a struct enum when there are additional fields, otherwise will be a tuple enum.

not sure the purpose of x-mapped-models, perhaps legacy code? mappedModels appears to do the same thing.

Also add default implementation for quality of life

* chore: update samples

---------

Co-authored-by: Nikita Puzankov <git@bshn.rs>
2024-02-13 19:21:51 +08:00

21 lines
605 B
TOML

[package]
name = "composed-oneof-hyper"
version = "1.0.0"
authors = ["OpenAPI Generator team and contributors"]
description = "No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)"
# Override this license by providing a License Object in the OpenAPI.
license = "Unlicense"
edition = "2018"
[dependencies]
serde = "^1.0"
serde_derive = "^1.0"
serde_json = "^1.0"
url = "^2.2"
uuid = { version = "^1.0", features = ["serde", "v4"] }
hyper = { version = "~0.14", features = ["full"] }
hyper-tls = "~0.5"
http = "~0.2"
base64 = "~0.7.0"
futures = "^0.3"