Benoît Courtine f4eb96933a [Rust] Client library choice between hyper and reqwest (#1258)
* Port of PR https://github.com/swagger-api/swagger-codegen/pull/8804.

* Correction of conflict with PR #528 (missing template file).

* Add rust-reqwest samples to Circle CI tests.

* Add integration test pom.xml file with launcher to trigger cargo execution.

* Deduplicate Maven project name.

* Fix "api_key" header for Petstore.

* Better API key management.

* Fix query param for lists of objects other than strings (numbers, etc.).

* Update to reqwest 0.9, and refactor of header management (using reqwest transition feature).

* Merge scripts generating rust-hyper and rust-reqwest samples.

* Consistent full stops.

* Use raw variables in all Rust mustache templates.

* Replace production build in CI with a quick simple check.

* Update samples.

* Finish Reqwest 0.9 migration (removing "hyper 0.11" transition feature).

* Configuration implements Default trait.

* API template reorganized: HashMap is not required anymore.

* Revert "Merge scripts generating rust-hyper and rust-reqwest samples."

This reverts commit 970f996566a740045f2a986fd70fc70f11952925.

* Remove deprecated "-XX:MaxPermSize" java arg.
2018-10-26 10:24:14 +01:00
..
2018-05-08 16:44:51 +08:00
2018-05-08 16:44:51 +08:00

Rust API client for petstore_client

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 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