【问题标题】:How to validate an HTTP requests against an OpenAPI3 specification in Python? [closed]如何根据 Python 中的 OpenAPI3 规范验证 HTTP 请求? [关闭]
【发布时间】:2019-02-18 13:46:25
【问题描述】:

似乎有许多 python 库专门用于验证 OpenApi 模式的正确性。虽然这可能很有用,但坦率地说,我可以在 https://editor.swagger.io 中编写我的 OpenApi 架构,并对其进行验证/转换/格式化。

然后剩下的客户可能会向我的 OpenApi 记录的端点发送任何类型的脏数据。

目前,针对 OpenAPI 架构验证数据的问题通常通过使用插件扩展数据验证工具来解决,这些插件可以从其数据验证声明中推断出 OpenAPI 规范。然而,反过来通常是不可能的,即从 OpenAPI 模式开始并实例化数据验证器。此外,从验证声明生成的 OpenAPI 往往是不完整的。

如何在 Python 中根据 OpenAPI3 规范验证 HTTP 请求数据(最好以通用且与框架无关的方式)?

【问题讨论】:

    标签: python rest openapi


    【解决方案1】:

    OpenAPI 3 兼容大部分 JSON Schema - read The Docs

    您可以为 Python 安装 json schema 包装器并验证您的 JSON。

    【讨论】:

      【解决方案2】:

      至于 2019 年第一季度,没有这样的工具。 现有工具的好列表是https://openapi.tools/#data-validators

      作为一种解决方法,可以使用现有工具之一并从 python 调用使用此类工具创建的二进制文件。

      PS。有https://github.com/p1c2u/openapi-core,但似乎不支持完整的OpenApi 3。

      【讨论】:

      • openapi-core 是正确答案。
      猜你喜欢
      • 2018-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多