Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Openapi-core is a Python library that adds client-side and server-side support for the OpenAPI v3.0 and OpenAPI v3.1 specification.

License

NotificationsYou must be signed in to change notification settings

python-openapi/openapi-core

 
 

Repository files navigation

https://travis-ci.org/p1c2u/openapi-core.svg?branch=masterhttps://img.shields.io/codecov/c/github/p1c2u/openapi-core/master.svg?style=flat

About

Openapi-core is a Python library that adds client-side and server-side supportfor theOpenAPI v3.0andOpenAPI v3.1 specification.

Key features

  • Validation of requests and responses
  • Schemacasting andunmarshalling
  • Media type and parametersdeserialization
  • Security providers (API keys, Cookie, Basic and Bearer HTTP authentications)
  • Customdeserializers andformats
  • Integration with libraries and frameworks

Documentation

Check documentation to see more details about the features. All documentation is in the "docs" directory and online atopenapi-core.readthedocs.io

Installation

Recommended way (via pip):

$ pip install openapi-core

Alternatively you can download the code and install from the repository:

$ pip install -e git+https://github.com/p1c2u/openapi-core.git#egg=openapi_core

Usage

Firstly create your specification object.

fromopenapi_coreimportSpecspec=Spec.from_file_path('openapi.json')

Now you can use it to validate against requests and/or responses.

Request

Usevalidate_request function to validate request against a given spec.

fromopenapi_coreimportvalidate_request# raise error if request is invalidresult=validate_request(request,spec=spec)

Retrieve request data from validation result

# get parameters object with path, query, cookies and headers parametersvalidated_params=result.parameters# or specific parametersvalidated_path_params=result.parameters.path# get bodyvalidated_body=result.body# get security datavalidated_security=result.security

Request object should implement OpenAPI Request protocol (SeeIntegrations).

Response

Usevalidate_response function to validate response against a given spec.

fromopenapi_coreimportvalidate_response# raise error if response is invalidresult=validate_response(request,response,spec=spec)

and unmarshal response data from validation result

# get headersvalidated_headers=result.headers# get datavalidated_data=result.data

Response object should implement OpenAPI Response protocol (SeeIntegrations).

In order to explicitly validate a:

  • OpenAPI 3.0 spec, importV30RequestValidator orV30ResponseValidator
  • OpenAPI 3.1 spec, importV31RequestValidator orV31ResponseValidator
fromopenapi_coreimportV31ResponseValidatorresult=validate_response(request,response,spec=spec,cls=V31ResponseValidator)

You can also explicitly importV3RequestValidator orV3ResponseValidator which is a shortcut to the latest v3 release.

Related projects

About

Openapi-core is a Python library that adds client-side and server-side support for the OpenAPI v3.0 and OpenAPI v3.1 specification.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Sponsor this project

    Packages

    No packages published

    [8]ページ先頭

    ©2009-2025 Movatter.jp