openapi-generators / openapi-generators/openapi-python-client
"model_type" error when encountering "items": false
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 2k
- フォーク
- 293
- 平均マージ
- 34分
- マージ済み PR(30日)
- 1
説明
Describe the bug
According to the openapi 3.1 specification, tuples should be modeled using the "prefixItems" field with the "items" field being set to false (spec).
However this causes a "model_type" error as the generator expects the "items" field to be a dictionary.
OpenAPI Spec File
{
"openapi": "3.1.0",
"info": {
"title": "foobar",
"description": "",
"license": {
"name": ""
},
"version": "0.1.0"
},
"paths": {
"/my/path": {
"get": {
"description": "foo",
"operationId": "bar",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "array",
"items": false,
"prefixItems": [
{
"type": "string",
"format": "date-time"
},
{}
]
}
}
}
}
}
}
}
}
}
}
Removing the "items": false causes the file to parse successfully.
Desktop (please complete the following information):
- OS: Ubuntu 22.04.5 LTS
- Python Version: 3.10.12
- openapi-python-client version 0.24.1
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、issue に含まれている OpenAPI 3.1 仕様で model_type エラーを再現し、items が false で prefixItems が存在するネストされた配列スキーマに焦点を当てます。items が辞書であることを前提としているスキーマ解析または検証の経路を追跡します。提供された仕様が正常に解析され、このタプル形式を対象とする回帰テストでカバーされれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- openapi, python
- 領域
- backend-api-design, tooling
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 48/100