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 Specification v3.0.0.

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:

fromopenapi_coreimportcreate_specspec=create_spec(spec_dict)

Now you can use it to validate requests

fromopenapi_core.shortcutsimportRequestValidatorvalidator=RequestValidator(spec)result=validator.validate(request)# raise errors if request invalidresult.raise_for_errors()# get list of errorserrors=result.errors

and unmarshal request data from validation result

# get parameters dictionary with path, query, cookies and headers parametersvalidated_params=result.parameters# get bodyvalidated_body=result.body

or use shortcuts for simple validation

fromopenapi_coreimportvalidate_parameters,validate_bodyvalidated_params=validate_parameters(spec,request)validated_body=validate_body(spec,request)

Request object should implement BaseOpenAPIRequest interface. You can use FlaskOpenAPIRequest a Flask/Werkzeug request wrapper implementation:

fromopenapi_core.validatorsimportRequestValidatorfromopenapi_core.wrappers.flaskimportFlaskOpenAPIRequestopenapi_request=FlaskOpenAPIRequest(flask_request)validator=RequestValidator(spec)result=validator.validate(openapi_request)

or specify request wrapper class for shortcuts

fromopenapi_coreimportvalidate_parameters,validate_bodyvalidated_params=validate_parameters(spec,request,wrapper_class=FlaskOpenAPIRequest)validated_body=validate_body(spec,request,wrapper_class=FlaskOpenAPIRequest)

You can also validate responses

fromopenapi_core.validatorsimportResponseValidatorvalidator=ResponseValidator(spec)result=validator.validate(request,response)# raise errors if response invalidresult.raise_for_errors()# get list of errorserrors=result.errors

and unmarshal response data from validation result

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

or use shortcuts for simple validation

fromopenapi_coreimportvalidate_datavalidated_data=validate_data(spec,request,response)

Response object should implement BaseOpenAPIResponse interface. You can use FlaskOpenAPIResponse a Flask/Werkzeug response wrapper implementation:

fromopenapi_core.shortcutsimportResponseValidatorfromopenapi_core.wrappers.flaskimportFlaskOpenAPIResponseopenapi_response=FlaskOpenAPIResponse(flask_response)validator=ResponseValidator(spec)result=validator.validate(openapi_request,openapi_response)

or specify response wrapper class for shortcuts

fromopenapi_coreimportvalidate_parameters,validate_bodyvalidated_data=validate_data(spec,request,response,response_wrapper_class=FlaskOpenAPIResponse)

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