Sergey 13f1c610d9
[python] Re-merge Subclass Python exceptions (#7321) (#8095)
* Subclass Python exceptions (#7321)

* Subclass Python exceptions:
- UnauthorizedException (401)
- ForbiddenException (403)
- NotFoundException (404)
- ServiceException [500 - 599]

Fixes #2151

* add generated sample code

* use Python 2 flavor inheritance

* regenerate samples

* update samples

Co-authored-by: Ryan Rishi <ryan@ryanrishi.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-12-05 12:02:00 -08:00
..

petstore-api

This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: " \

This Python package is automatically generated by the OpenAPI Generator project:

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

Requirements.

Python >= 3.5

Installation & Usage

pip install

If the python package is hosted on a repository, you can install directly using:

pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git)

Then import the package:

import petstore_api

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import petstore_api

Getting Started

Please follow the installation procedure and then run the following:


import time
import petstore_api
from pprint import pprint
from petstore_api.api import another_fake_api
from petstore_api.model.client import Client
# Defining the host is optional and defaults to http://petstore.swagger.io:80/v2
# See configuration.py for a list of all supported configuration parameters.
configuration = petstore_api.Configuration(
    host = "http://petstore.swagger.io:80/v2"
)



# Enter a context with an instance of the API client
with petstore_api.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = another_fake_api.AnotherFakeApi(api_client)
    body = Client(
        client="client_example",
    ) # Client | client model

    try:
        # To test special tags
        api_response = api_instance.call_123_test_special_tags(body)
        pprint(api_response)
    except petstore_api.ApiException as e:
        print("Exception when calling AnotherFakeApi->call_123_test_special_tags: %s\n" % e)

Documentation for API Endpoints

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

Class Method HTTP request Description
AnotherFakeApi call_123_test_special_tags PATCH /another-fake/dummy To test special tags
FakeApi array_model POST /fake/refs/arraymodel
FakeApi boolean POST /fake/refs/boolean
FakeApi create_xml_item POST /fake/create_xml_item creates an XmlItem
FakeApi number_with_validations POST /fake/refs/number
FakeApi object_model_with_ref_props POST /fake/refs/object_model_with_ref_props
FakeApi string POST /fake/refs/string
FakeApi string_enum POST /fake/refs/enum
FakeApi test_body_with_file_schema PUT /fake/body-with-file-schema
FakeApi test_body_with_query_params PUT /fake/body-with-query-params
FakeApi test_client_model PATCH /fake To test &quot;client&quot; model
FakeApi test_endpoint_enums_length_one PUT /fake/enums-of-length-one/{path_string}/{path_integer}
FakeApi test_endpoint_parameters POST /fake Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
FakeApi test_enum_parameters GET /fake To test enum parameters
FakeApi test_group_parameters DELETE /fake Fake endpoint to test group parameters (optional)
FakeApi test_inline_additional_properties POST /fake/inline-additionalProperties test inline additionalProperties
FakeApi test_json_form_data GET /fake/jsonFormData test json serialization of form data
FakeClassnameTags123Api test_classname PATCH /fake_classname_test To test class name in snake case
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
PetApi upload_file_with_required_file POST /fake/{petId}/uploadImageWithRequiredFile uploads an image (required)
StoreApi delete_order DELETE /store/order/{order_id} Delete purchase order by ID
StoreApi get_inventory GET /store/inventory Returns pet inventories by status
StoreApi get_order_by_id GET /store/order/{order_id} 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
  • API key parameter name: api_key
  • Location: HTTP header

api_key_query

  • Type: API key
  • API key parameter name: api_key_query
  • Location: URL query string

http_basic_test

  • Type: HTTP basic authentication

petstore_auth

Author

Notes for Large OpenAPI documents

If the OpenAPI document is large, imports in petstore_api.apis and petstore_api.models may fail with a RecursionError indicating the maximum recursion limit has been exceeded. In that case, there are a couple of solutions:

Solution 1: Use specific imports for apis and models like:

  • from petstore_api.api.default_api import DefaultApi
  • from petstore_api.model.pet import Pet

Solution 1: Before importing the package, adjust the maximum recursion limit as shown below:

import sys
sys.setrecursionlimit(1500)
import petstore_api
from petstore_api.apis import *
from petstore_api.models import *