When EnableDiscriminatorValue is set to true all types end up with a required property of odata.type
まだ誰も着手していません。
評価
調査の方向性
派生型を持たず、EnableDiscriminatorValue が true に設定された OData モデルで問題を再現することから始め、その後、生成された OpenAPI 仕様を調べます。ディスクリミネーターのメタデータが必須プロパティになる過程を追跡します。完了の条件は、派生型によって必要になる場合にのみ odata.type が必須となり、有効なクライアントのデシリアライズを壊さないことです。
索引モデルが issue の本文から書いたものです。
説明
My understanding is odata.type is only required in the case the type cannot be determined such as it being a type derived from the specified type.
When using EnableDiscriminatorValue = true I get correctly odata.type used as a discriminator when a type has a derived type.
I also get however for seemingly all types, odata.type included as a required property.
Assemblies affected
v1.1.0
Steps to reproduce
- Create an odata model with no derived types.
- Generate an Open API specification from the model with EnableDiscriminatorValue = true.
Expected result
I would only expect odata.type to be required in the case a type is a derived type.
Actual result
odata.type is set as required for all types.
If I use Open API connected services in Visual Studio with the specification to generate a client, the client will fail to deserialize responses missing the required property by default.
Additional detail
This can be worked around in most case.
- 主要言語
- C#
- スター
- 240
- フォーク
- 70
- 平均マージ
- 7時間 59分
- マージ済み PR(30日)
- 13
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
microsoft/OpenAPI.NET.OData のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
microsoft/OpenAPI.NET.OData#661 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 58/100
microsoft/OpenAPI.NET.OData#852 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
microsoft/OpenAPI.NET.OData#833 ·
-
status:needs-more-information
難易度 4/5 3〜5日 初心者へのやさしさ 42/100
microsoft/OpenAPI.NET.OData#723 · コメント 1 件 · リアクション 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
microsoft/OpenAPI.NET.OData#720 ·
microsoft/OpenAPI.NET.OData の issue をすべて見る
似ている issue
-
Documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
cake-build/cake#5024 ·
-
Frontend status/draft TechnicalDebt
難易度 2/5 1〜2日 初心者へのやさしさ 75/100
Altinn/altinn-auth#4143 ·
-
.NET Flaky Test Testing Tests
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
getsentry/sentry-dotnet#5617 · コメント 1 件 ·
-
:watch: Not Triaged dotnet-fsharp/svc
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
-
Client customer-reported needs-team-attention question Service Attention WebPubSub
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
Azure/azure-sdk-for-net#63292 · コメント 3 件 · リアクション 1 件 ·