forked from loafle/openapi-generator-original
* add rust generator (1st release) * update based on feedback * fix reserved keyword * fix string parameter * Convert String to &str in trait definition * Only pass pathParams to uri builder * Fixed the html escaping in return type * Fixed the hashmap constructor * Added models into API scope * removed models subimport, reference from super * update returntype in method signature * Fixed the remaining templates inconsistencies * Fixed issues that floated up in kubernetes swagger file * add hash support, fix docstring * fix map parameter, update api.mustache * use baseName for parameter * use fully-qualfiied model name * add rust tests * fix test cases * Rust gen slightly more idiomatic (#6247) * Go -> Rust in README * Remove leftover go file in rust sample * rust: Regenerate sample * rust: Rename *Impl -> *Client * rust: one-line use line More in line with common style * rust: Replace tabs (in java) with 4 spaces * Added trivial getter implementation (#6249) * update rust petstore samples
98 lines
4.5 KiB
Markdown
98 lines
4.5 KiB
Markdown
# Rust API client for swagger
|
|
|
|
This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). 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](https://github.com/swagger-api/swagger-codegen) project. By using the [swagger-spec](https://github.com/swagger-api/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:
|
|
```
|
|
"./swagger"
|
|
```
|
|
|
|
## Documentation for API Endpoints
|
|
|
|
All URIs are relative to *http://petstore.swagger.io/v2*
|
|
|
|
Class | Method | HTTP request | Description
|
|
------------ | ------------- | ------------- | -------------
|
|
*PetApi* | [**AddPet**](docs/PetApi.md#addpet) | **Post** /pet | Add a new pet to the store
|
|
*PetApi* | [**DeletePet**](docs/PetApi.md#deletepet) | **Delete** /pet/{petId} | Deletes a pet
|
|
*PetApi* | [**FindPetsByStatus**](docs/PetApi.md#findpetsbystatus) | **Get** /pet/findByStatus | Finds Pets by status
|
|
*PetApi* | [**FindPetsByTags**](docs/PetApi.md#findpetsbytags) | **Get** /pet/findByTags | Finds Pets by tags
|
|
*PetApi* | [**GetPetById**](docs/PetApi.md#getpetbyid) | **Get** /pet/{petId} | Find pet by ID
|
|
*PetApi* | [**UpdatePet**](docs/PetApi.md#updatepet) | **Put** /pet | Update an existing pet
|
|
*PetApi* | [**UpdatePetWithForm**](docs/PetApi.md#updatepetwithform) | **Post** /pet/{petId} | Updates a pet in the store with form data
|
|
*PetApi* | [**UploadFile**](docs/PetApi.md#uploadfile) | **Post** /pet/{petId}/uploadImage | uploads an image
|
|
*StoreApi* | [**DeleteOrder**](docs/StoreApi.md#deleteorder) | **Delete** /store/order/{orderId} | Delete purchase order by ID
|
|
*StoreApi* | [**GetInventory**](docs/StoreApi.md#getinventory) | **Get** /store/inventory | Returns pet inventories by status
|
|
*StoreApi* | [**GetOrderById**](docs/StoreApi.md#getorderbyid) | **Get** /store/order/{orderId} | Find purchase order by ID
|
|
*StoreApi* | [**PlaceOrder**](docs/StoreApi.md#placeorder) | **Post** /store/order | Place an order for a pet
|
|
*UserApi* | [**CreateUser**](docs/UserApi.md#createuser) | **Post** /user | Create user
|
|
*UserApi* | [**CreateUsersWithArrayInput**](docs/UserApi.md#createuserswitharrayinput) | **Post** /user/createWithArray | Creates list of users with given input array
|
|
*UserApi* | [**CreateUsersWithListInput**](docs/UserApi.md#createuserswithlistinput) | **Post** /user/createWithList | Creates list of users with given input array
|
|
*UserApi* | [**DeleteUser**](docs/UserApi.md#deleteuser) | **Delete** /user/{username} | Delete user
|
|
*UserApi* | [**GetUserByName**](docs/UserApi.md#getuserbyname) | **Get** /user/{username} | Get user by user name
|
|
*UserApi* | [**LoginUser**](docs/UserApi.md#loginuser) | **Get** /user/login | Logs user into the system
|
|
*UserApi* | [**LogoutUser**](docs/UserApi.md#logoutuser) | **Get** /user/logout | Logs out current logged in user session
|
|
*UserApi* | [**UpdateUser**](docs/UserApi.md#updateuser) | **Put** /user/{username} | Updated user
|
|
|
|
|
|
## Documentation For Models
|
|
|
|
- [ApiResponse](docs/ApiResponse.md)
|
|
- [Category](docs/Category.md)
|
|
- [Order](docs/Order.md)
|
|
- [Pet](docs/Pet.md)
|
|
- [Tag](docs/Tag.md)
|
|
- [User](docs/User.md)
|
|
|
|
|
|
## 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
|
|
- **Type**: OAuth
|
|
- **Flow**: implicit
|
|
- **Authorization URL**: http://petstore.swagger.io/api/oauth/dialog
|
|
- **Scopes**:
|
|
- **write:pets**: modify pets in your account
|
|
- **read:pets**: read your pets
|
|
|
|
Example
|
|
```
|
|
auth := context.WithValue(context.TODO(), sw.ContextAccessToken, "ACCESSTOKENSTRING")
|
|
r, err := client.Service.Operation(auth, args)
|
|
```
|
|
|
|
Or via OAuth2 module to automaticly 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
|
|
|