Incorrect parsing of null as nullable enum value serialized as strings
まだ誰も着手していません。
評価
調査の方向性
openapi-python-client 0.23.1 の動作と、示されている生成済みのデシリアライズコードを使って、issue にある nullable enum のケースを再現します。d.pop 後の deviceEncryptionKeyScheme の処理から始め、UNSET のパスと null のパスを比較します。明示的に null が設定された値が正常にデシリアライズされ、未設定のプロパティは引き続き UNSET として表現されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Consider the following schema definition (which passes validation with the openapitools/openapi-generator-cli container image):
// [...]
"deviceEncryptionKeyScheme": {
"$ref": "#/components/schemas/DeviceEncryptionKeyScheme",
"nullable": true // <-- nullability declared
},
// [...]
"DeviceEncryptionKeyScheme": {
"enum": ["Default8"],
"type": "string"
},
It looks as if openapi-python-client version 0.23.1 supports deserialization with the deviceEncryptionKeyScheme property being unset, but not it being null:
_device_encryption_key_scheme = d.pop("deviceEncryptionKeyScheme", UNSET)
device_encryption_key_scheme: Union[Unset, DeviceEncryptionKeyScheme]
if isinstance(_device_encryption_key_scheme, Unset):
device_encryption_key_scheme = UNSET
else:
device_encryption_key_scheme = DeviceEncryptionKeyScheme(_device_encryption_key_scheme)
This looks like a bug to me.
- 主要言語
- Python
- スター
- 2k
- フォーク
- 293
- 平均マージ
- 34分
- マージ済み PR(30日)
- 1
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
openapi-generators/openapi-python-client のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 72/100
openapi-generators/openapi-python-client#1451 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 52/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 64/100
openapi-generators/openapi-python-client#1435 · コメント 1 件 ·
openapi-generators/openapi-python-client の issue をすべて見る
似ている issue
-
Add: hunch オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
AbdelStark/awesome-typesafe#104 ·
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
DiamondLightSource/dodal#2211 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
openml/openml-python#1749 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
sipyourdrink-ltd/bernstein#6191 ·