Artem Medvedev 518b29d089
fix(rust): oneOf generation for client (#17915)
* fix(rust): discriminator mapping to serde rename

Discriminator mapping has been ignored in some cases.
Even existing samples had wrong definition in some cases

This PR addresses this

* fix(rust): `oneOf` generation for client

Solves #17869 and #17896 and also includes unmerged $17898

Unfortunately it affects quite a lot of code, but we can see that only client-side models were affected by re-generation.
I tried to split this PR to several, but they're really coupled and hard to create a chain of PRs.

* fix: indentation in `impl Default`

* missing fixes

* fix: correct typeDeclaration with unaliased schema

* style: improve indentation for models

* fix: user toModelName for aliases of oneOf

* refactor: unify `getTypeDeclaration` for rust

* cover the case when `mapping` has the same `ref` for different mapping names

* test: add test for previous change

* style: remove extra qualified path to models

* add some comments

* fix(build): use method of `List` instead of specific for `LinkedList`
2024-02-24 23:41:30 +08:00

1.5 KiB

\FooApi

All URIs are relative to http://localhost:8080

Method HTTP request Description
create_foo Post /foo Create a Foo
get_all_foos Get /foo GET all Foos

create_foo

models::FooRefOrValue create_foo(foo) Create a Foo

Parameters

Name Type Description Required Notes
foo Option<Foo> The Foo to be created

Return type

models::FooRefOrValue

Authorization

No authorization required

HTTP request headers

  • Content-Type: application/json;charset=utf-8
  • Accept: application/json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

get_all_foos

Vecmodels::FooRefOrValue get_all_foos() GET all Foos

Parameters

This endpoint does not need any parameter.

Return type

Vecmodels::FooRefOrValue

Authorization

No authorization required

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json;charset=utf-8

[Back to top] [Back to API list] [Back to Model list] [Back to README]