Getting Started with Swagger Petstore
Introduction
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.
Install the Package
Install the gem from the command line:
gem install apimaticPetstore -v 1.0.1
Or add the gem to your Gemfile and run bundle
:
gem 'apimaticPetstore', '1.0.1'
For additional gem details, see the RubyGems page for the apimaticPetstore gem.
Test the SDK
To run the tests, navigate to the root directory of the SDK in your terminal and execute the following command:
rake
Initialize the API Client
Note: Documentation for the client can be found here.
The following parameters are configurable for the API Client:
Parameter | Type | Description |
---|
environment | Environment | The API environment. Default: Environment.PRODUCTION |
connection | Faraday::Connection | The Faraday connection object passed by the SDK user for making requests |
adapter | Faraday::Adapter | The Faraday adapter object passed by the SDK user for performing http requests |
timeout | Float | The value to use for connection timeout. Default: 60 |
max_retries | Integer | The number of times to retry an endpoint call if it fails. Default: 0 |
retry_interval | Float | Pause in seconds between retries. Default: 1 |
backoff_factor | Float | The amount to multiply each successive retry's interval amount by in order to provide backoff. Default: 2 |
retry_statuses | Array | A list of HTTP statuses to retry. Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524] |
retry_methods | Array | A list of HTTP methods to retry. Default: %i[get put] |
http_callback | HttpCallBack | The Http CallBack allows defining callables for pre and post API calls. |
o_auth_client_id | String | OAuth 2 Client ID |
o_auth_redirect_uri | String | OAuth 2 Redirection endpoint or Callback Uri |
o_auth_token | OAuthToken | Object for storing information about the OAuth token |
o_auth_scopes | OAuthScopeEnum | |
The API client can be initialized as follows:
client = SwaggerPetstore::Client.new(
o_auth_client_id: 'OAuthClientId',
o_auth_redirect_uri: 'OAuthRedirectUri',
o_auth_scopes: [
OAuthScopeEnum::READPETS,
OAuthScopeEnum::WRITEPETS
],
environment: Environment::PRODUCTION
)
Authorization
This API uses OAuth 2 Implicit Grant
.
Implicit Grant
Your application must obtain user authorization before it can execute an endpoint call incase this SDK chooses to use OAuth 2.0 Implicit Grant to obtain a user's consent to perform an API request on user's behalf. This authorization includes the following steps
This process requires the presence of a client-side JavaScript code on the redirect URI page to receive the access token after the consent step is completed.
1. Obtain user consent
To obtain user's consent, you must redirect the user to the authorization page. The get_authorization_url()
method creates the URL to the authorization page. You must have initialized the client with scopes for which you need permission to access.
auth_url = client.auth.get_authorization_url
2. Handle the OAuth server response
Once the user responds to the consent request, the OAuth 2.0 server responds to your application's access request by redirecting the user to the redirect URI specified set in Configuration
.
The redirect URI will receive the access token as the token
argument in the URL fragment.
https://example.com/oauth/callback#token=XXXXXXXXXXXXXXXXXXXXXXXXX
The access token must be extracted by the client-side JavaScript code. The access token can be used to authorize any further endpoint calls by the JavaScript code.
Scopes
Scopes enable your application to only request access to the resources it needs while enabling users to control the amount of access they grant to your application. Available scopes are defined in the OAuthScopeEnum
enumeration.
Scope Name |
---|
READPETS |
WRITEPETS |
List of APIs
Classes Documentation