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
..
2021-09-09 12:49:03 +08:00

Rust API client for petstore-reqwest-async

This is a sample server Petstore server. For this sample, you can use the api key special-key to test the authorization filters.

Overview

This API client was generated by the OpenAPI Generator project. By using the openapi-spec from a remote server, you can easily generate an API client.

  • API version: 1.0.0
  • Package version: 1.0.0
  • Build package: org.openapitools.codegen.languages.RustClientCodegen

Installation

Put the package under your project folder in a directory named petstore-reqwest-async and add the following to Cargo.toml under [dependencies]:

petstore-reqwest-async = { path = "./petstore-reqwest-async" }

Documentation for API Endpoints

All URIs are relative to http://petstore.swagger.io/v2

Class Method HTTP request Description
FakeApi test_nullable_required_param GET /fake/user/{username} To test nullable required parameters
PetApi add_pet POST /pet Add a new pet to the store
PetApi delete_pet DELETE /pet/{petId} Deletes a pet
PetApi find_pets_by_status GET /pet/findByStatus Finds Pets by status
PetApi find_pets_by_tags GET /pet/findByTags Finds Pets by tags
PetApi get_pet_by_id GET /pet/{petId} Find pet by ID
PetApi update_pet PUT /pet Update an existing pet
PetApi update_pet_with_form POST /pet/{petId} Updates a pet in the store with form data
PetApi upload_file POST /pet/{petId}/uploadImage uploads an image
StoreApi delete_order DELETE /store/order/{orderId} Delete purchase order by ID
StoreApi get_inventory GET /store/inventory Returns pet inventories by status
StoreApi get_order_by_id GET /store/order/{orderId} Find purchase order by ID
StoreApi place_order POST /store/order Place an order for a pet
TestingApi tests_file_response_get GET /tests/fileResponse Returns an image file
TestingApi tests_type_testing_get GET /tests/typeTesting Route to test the TypeTesting schema
UserApi create_user POST /user Create user
UserApi create_users_with_array_input POST /user/createWithArray Creates list of users with given input array
UserApi create_users_with_list_input POST /user/createWithList Creates list of users with given input array
UserApi delete_user DELETE /user/{username} Delete user
UserApi get_user_by_name GET /user/{username} Get user by user name
UserApi login_user GET /user/login Logs user into the system
UserApi logout_user GET /user/logout Logs out current logged in user session
UserApi update_user PUT /user/{username} Updated user

Documentation For Models

To get access to the crate's generated documentation, use:

cargo doc --open

Author