アプリケーションにより多くのメタデータを提供することを期待して、データベース クエリに関する追加情報をラップしたいと考えました (SQL データ アクセスではプレーンを使用し、Entity Framework やその他の ORM は使用しません)。
APIQueryResult
次のように設定されたオブジェクトがあります。
string Status { get; set; }
string[] Errors { get; set; }
object[] Data { get; set;}
これData
は私の POCO オブジェクトの配列です。
JSON を要求すると、メタデータとオブジェクト データを含め、すべてが正常にシリアル化されます。ただし、XML を要求すると、次のエラーが発生します。
「ObjectContent`1」タイプは、コンテンツ タイプ「application/xml;」の応答本文をシリアル化できませんでした。charset=utf-8'.
注: このアイデアは Filip W ( http://www.strathweb.com/2012/06/extending-your-asp-net-web-api-responses-with-useful-metadata/ )に触発されましたが、私はしませんでしたHttpHandlers などを書くのと同じくらい複雑にしたい.
通常のクラス、またはクラス インスタンスの IEnumerable/List を返すことができない場合、少なくともエラー情報をクライアントに返すより良い方法はありますか?
ありがとう!