「BreezeController」を持たず、OData をサポートしていないサードパーティ API に Breeze がアクセスすることは可能ですか?
1 に答える
"BreezeController" は、.NET WebApi が OData "構文" を介したクエリのフィルタリングと順序付けのサポートを提供するのに役立つ .NET 属性であり、エンティティ グラフと型 ID の json シリアル化のサポートです。Breeze が entityManager 内のエンティティを追跡し、クエリの結果をマージして関係プロパティを更新できるようにするには、型 ID が重要です。OData 自体は必要ありません。
クライアントがフィルター処理と順序付けの命令をサーバーに追加できないようにする場合は、json シリアル化サポートを提供するだけの独自の属性を作成できます。json シリアル化は、Web API が既に使用している json.net フォーマッターを構成するだけで構成されます。
BreezeControllerAttribute のソースは Breeze.WebApi プロジェクトにあり、非常に短いものです。「BreezeControllerAttribute」をコピーして独自の「FooControllerAttribute」を作成し、IFilterProvider コードを削除するだけです。
一方、クエリとフィルタリングのサポートは何も害を及ぼさず、EntityQuery の 'where' 'orderBy' 'select' または 'expand' メソッドを使用しない限り、このロジックは適用されません。この機能は、「breezeControllerAttribute」を使用しない必要はありません