openapi-generator/samples/client/petstore/rust
Euan Kemp 027df610b1 [Rust] Handle error response statuses (#6865)
* [Rust] Consider error statuscodes to be errors

* [Rust] Introduce 'ApiError' type for 4xx/5xx resp

This updates the previous commit which added an 'ErrorStatus' variant to
an 'ApiError' variant.

It does not specialize the error to the specific possible error
responses yet, rather returning a 'serde_json::Value' for any case.

This will lose any error messages which cannot be parsed as json and
instead return a json-parse error.

A future change should update the generated signatures such that the
returned future's error type is specialized to the specific errors that
may be returned by that api (and possibly a catchall json::Value still).

* [Rust] Regenerate petstore samples

* [Rust] Add error example to petstore sample
2018-01-15 11:38:11 +08:00
..
.swagger-codegen update rust default user agent to promote swagger codegen 2018-01-14 18:25:04 +08:00
docs Make the Rust codegen compile. (#6411) 2017-09-02 00:06:55 +08:00
examples [Rust] Handle error response statuses (#6865) 2018-01-15 11:38:11 +08:00
src [Rust] Handle error response statuses (#6865) 2018-01-15 11:38:11 +08:00
.gitignore [New Generator] Rust API client generator (#6092) 2017-07-21 21:58:31 +08:00
.swagger-codegen-ignore [Rust] add new Rust client generator (#6105) 2017-08-06 16:59:08 +08:00
.travis.yml [Rust] add new Rust client generator (#6105) 2017-08-06 16:59:08 +08:00
Cargo.toml [Rust] Implement 'object' type conversion (#6846) 2017-11-01 22:00:56 +08:00
git_push.sh Spelling fixes (#7142) 2017-12-10 10:48:30 +08:00
README.md Spelling fixes (#7142) 2017-12-10 10:48:30 +08:00

Rust API client for petstore_client

This is a sample server Petstore server. You can find out more about Swagger at http://swagger.io or on irc.freenode.net, #swagger. For this sample, you can use the api key special-key to test the authorization filters.

Overview

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

  • API version: 1.0.0
  • Package version: 1.0.0
  • Build package: io.swagger.codegen.languages.RustClientCodegen

Installation

Put the package under your project folder and add the following in import:

    "./petstore_client"

Documentation for API Endpoints

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

Class Method HTTP request Description
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
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

Documentation For Authorization

api_key

  • Type: API key

Example

	auth := context.WithValue(context.TODO(), sw.ContextAPIKey, sw.APIKey{
		Key: "APIKEY",
		Prefix: "Bearer", // Omit if not necessary.
	})
    r, err := client.Service.Operation(auth, args)

petstore_auth

Example

	auth := context.WithValue(context.TODO(), sw.ContextAccessToken, "ACCESSTOKENSTRING")
    r, err := client.Service.Operation(auth, args)

Or via OAuth2 module to automatically refresh tokens and perform user authentication.

	import 	"golang.org/x/oauth2"

    / .. Perform OAuth2 round trip request and obtain a token .. //

    tokenSource := oauth2cfg.TokenSource(createContext(httpClient), &token)
	auth := context.WithValue(oauth2.NoContext, sw.ContextOAuth2, tokenSource)
    r, err := client.Service.Operation(auth, args)

Author

apiteam@swagger.io