Home

Awesome

pyramid_oas3

Pyramid Webアプリケーションに対して、 OpenAPI 3.0を利用した、 リクエストの検証・パースを実施するライブラリです。

pyramid_swaggerのOpenAPI 3.0対応版の様な位置づけです。

設定項目

使い方

以下のように設定してpyramidに組み込みます

settings = {
    'pyramid.includes': 'pyramid_oas3',
    'pyramid_oas3.schema': yaml.load(open('schema.yaml').read()),
    'pyramid_oas3.validate_response': True,
    'pyramid_oas3.fill_by_default': True,
}

検証失敗時は以下の例外が返却されるので、 適宜exception_view_configを設定してください

以下にexception_view_configの例を示します

from pyramid.view import exception_view_config


@exception_view_config(ValidationErrors)
def failed_request_validation(exc, request):
    res = Response(str(exc))
    res.status_int = 400
    return res


@exception_view_config(ResponseValidationError)
def failed_response_validation(exc, request):
    res = Response(str(exc))
    res.status_int = 500
    return res