私はここで見つけることができるすべての類似の記事を見直し、成功していないように見えるものを試しました(私は今質問しています)。WebAPI 2.0非直列化リストの投稿<T>プロパティ
タイプReservation
のオブジェクトを取り込むPOSTアクションを持つwebAPI 2.0コントローラがあります。このオブジェクトには、とりわけItems
と呼ばれるプロパティがあり、タイプはEquipmentItems
です。あなたが想像しているように、これはListプロパティです。私は予約オブジェクトを送信します(誰にでも問題がある場合はPostAsJsonAsync("api/Reservation", reservation).Result
を使用)。
私がAPIコントローラに着陸すると、Reservation
オブジェクトには、EquipmentItems
プロパティにあるものを除いてすべてのオブジェクトが完全に埋め込まれます。
完全開示の精神で、Reservation
クラス内のItems
プロパティは、実際にはTがIItemData
インターフェイスであるリストとして定義されます。 EquimpentItem
はIItemData
thoを継承しているため、それが問題を複雑にするかどうかはわかりません。
ネイティブコントローラのデシリアライザは、TがインターフェイスであるListを処理できませんか?
私が知っていることは、Listを通常の配列として定義することです。それはうまくいきますが、私はリストを使用するために私をナビゲートした他の要件があります。
リストのプロパティを正しくシリアル化しないようにするにはどうすればよいですか?