使用Python的OpenApi 3请求验证

pis*_*hio 6 python rest openapi

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

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

因此,我找不到的是一个提供了OpenApi模式和JSON(通常来自HTTP请求)的库,用于根据模式验证输入/数据JSON。所有必填字段都到位了吗?我希望age是一个数字,所以不要通过验证,因为它是作为字符串传递的,依此类推。

我能找到的最接近的东西是https://flask-restplus.readthedocs.io/en/stable/,但是

  1. 它链接到Flask,不能在不同的环境中使用
  2. 它不接受OpenApi模式,但是产生一个,我发现它是不完整的
  3. 它的GitHub存储库中有很多未解决/尚未解决的未解决问题

是否有任何Python库可以再次验证输入数据和OpenApi模式?

art*_*ski 4

OpenAPI 3与JSON Schema的大部分兼容- 阅读文档

您可以安装Python 的json 架构包装器并验证您的 JSON。