没有项目描述

openapi-core的Python项目详细描述


https://img.shields.io/pypi/v/openapi-core.svghttps://travis-ci.org/p1c2u/openapi-core.svg?branch=masterhttps://img.shields.io/codecov/c/github/p1c2u/openapi-core/master.svg?style=flathttps://img.shields.io/pypi/pyversions/openapi-core.svghttps://img.shields.io/pypi/format/openapi-core.svghttps://img.shields.io/pypi/status/openapi-core.svg

关于

openapi core是一个python库,它添加了客户端和服务器端支持 为了OpenAPI Specification v3.0.0

安装

推荐方式(通过PIP):

$ pip install openapi-core

或者,您可以下载代码并从存储库安装:

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

用法

首先创建您的规范:

fromopenapi_coreimportcreate_specspec=create_spec(spec_dict)

现在您可以使用它来验证请求

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

从验证结果中解组请求数据

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

或者使用快捷方式进行简单验证

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

请求对象应实现BaseOpenAPIRequest接口。您可以使用flaskopenapirest a flask/werkzeug请求包装器实现:

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

或者为快捷方式指定请求包装类

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

您还可以验证响应

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

并从验证结果中解组响应数据

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

或者使用快捷方式进行简单验证

fromopenapi_coreimportvalidate_datavalidated_data=validate_data(spec,request,response)

响应对象应实现BaseOpenAPIResponse接口。您可以使用flaskopenapireponse a flask/werkzeug response wrapper实现:

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

或者为快捷方式指定响应包装类

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaJSonarray不会从SeekBar读取double   使用另一个类从Java中的2D数组打印用户输入   java ClassNotFoundException的原因   spring调用两个方法以返回Java中的不同页面   httpurlconnection Java禁止的代码错误,但浏览器错误(2)   java画布矩阵转换   java:在另一个java映射中使用“Map”作为值   java“未找到用于解密的证书”(Apache CXF,WSSecurity)   java如何查看JTable中选择的行   java在没有xmlwrappers的情况下重复xml元素序列集   java将垂直直方图打印到控制台   java Spring JDBCTemplate:构造不带特殊字符的JSON   java PayPal RestApi获取用户信息