openapi-generators / openapi-generators/openapi-python-client
Unable to parse schema Errors
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 2k
- フォーク
- 293
- 平均マージ
- 34分
- マージ済み PR(30日)
- 1
説明
Describe the bug
I'm attempting to convert a rather large open api schema to Pyhton bindings and am running across warnings that are dropping endpoints on the floor. I believe there is a couple of issues.
- Refs not supported: Do you know if there are plans to add support for references in request body? I'll look at ways to flatten this schema out without references and try this again
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MetadataFieldGroupType"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/MetadataFieldGroupType"
}
}
},
"required": true,
"description": ""
}
WARNING` parsing PUT /collection within collection. Endpoint will not be generated.
Could not find reference in parsed models or enums
Reference(ref='#/components/schemas/ItemSearchType')
WARNING parsing POST /collection within collection. Endpoint will not be generated.
Could not find reference in parsed models or enums
Reference(ref='#/components/schemas/CollectionType')
- Parth parameters not match with path. I believe this may be due to the open "in path" vs "in query" issue.
WARNING parsing GET /collection/{collection-id}/item within collection. Endpoint will not be generated.
Incorrect path templating for /collection/{collection-id}/item (Path parameters do not match with path)
{
"required": true,
"schema": {
"type": "string"
},
"in": "path",
"name": "collection-id",
"description": "The collection id."
}
- Generic cannot parse parameter of endpoint getAccessGraphDot
cannot parse parameter of endpoint getAccessGraphDot
Schema(title=None, multipleOf=None, maximum=None, exclusiveMaximum=None, minimum=None, exclusiveMinimum=None, maxLength=None, minLength=None, pattern=None, maxItems=None, minItems=None, uniqueItems=None, maxProperties=None, minProperties=None, required=None, enum=['ancestor', 'grant'], type=<DataType.STRING: 'string'>, allOf=[], oneOf=[], anyOf=[], schema_not=None, items=None, properties=None, additionalProperties=None, description=None, schema_format=None, default=None, nullable=False, discriminator=None, readOnly=None, writeOnly=None, xml=None, externalDocs=None, example=None, deprecated=None)
To Reproduce
Steps to reproduce the behavior:
- Run
openapi-python-client generate --path openapi/spec.json - Run
openapi-python-client generate --path openapi/spec.yaml
Expected behavior
A full python client should be generated without warnings.
OpenAPI Spec File
Standby. Making sure I have approval to share this schema since its coming from a 3rd party vendor.
Desktop (please complete the following information):
- OS: macOS 12.4
- Python Version: 3.8.9
- openapi-python-client version: 0.11.4
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
openapi-python-client generate --path openapi/spec.json と .yaml のコマンドから始め、リクエストボディの参照、パスパラメータ、getAccessGraphDot に関する警告を確認します。ベンダースキーマは含まれていないため、利用可能になったら再現してください。警告や欠落したエンドポイントなしで完全な Python クライアントが生成されれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- openapi, python
- 領域
- api, devtools
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100