web-dev-qa-db-ja.com

OpenApi 3はPython

OpenApiスキーマの正確性を検証するための専用のpythonライブラリがいくつかあるようです。これは便利かもしれませんが、率直に言って、ここにOpenApiスキーマを https: //editor.swagger.io そして、検証/変換/かなりフォーマットされています。

その後、OpenApiのドキュメント化されたエンドポイントにあらゆる種類のダーティデータを送信する可能性のあるクライアントが残ります。

したがって、私が見つけることができないのは、OpenApiスキーマと(通常はHTTPリクエストからの)JSONが指定されたライブラリが入力/データJSONをスキーマに対して検証するライブラリです。すべての必須フィールドが整っていますか? ageは数値である必要があるため、文字列などとして渡されるため、検証を通過しないでください。

私が見つけることができる最も近いものは https://flask-restplus.readthedocs.io/en/stable/ ですが

  1. Flaskにリンクされており、異なる環境では使用できません
  2. OpenApiスキーマを受け入れませんが、スキーマを生成しますが、これはかなり不完全であることがわかりました
  3. そのGitHubリポジトリには、未解決/承認されていない多くの未解決の問題があります

OpenApiスキーマに対して入力データを検証するpythonライブラリはありますか?

8
pistacchio

OpenAPI 3は、JSONスキーマの大部分と互換性があります-- ドキュメントを読む

json schema Pythonのラッパーをインストールして、JSONを検証できます。

4
arturkuchynski

2019年第1四半期については、そのようなツールはありません。既存のツールの良いリストは https://openapi.tools/#data-validators です。

回避策として、既存のツールの1つを使用して、Pythonからそのようなツールで作成されたバイナリを呼び出すことができます。

PS。 https://github.com/p1c2u/openapi-core はありますが、完全なOpenApi 3をサポートしていないようです。

1
Maciej Kucia