1

Breeze 是否可以访问没有“BreezeController”也不支持 OData 的第三方 API?

4

1 回答 1

0

“BreezeController”只是一个 .NET 属性,它帮助 .NET WebApi 通过 OData“语法”提供对查询过滤和排序的支持,以及对实体图和类型标识的 json 序列化支持。类型标识很重要,因此微风可以跟踪其 entityManager 中的实体并合并查询结果并更新关系属性。永远不需要 OData 本身。

如果您不希望客户端能够向服务器添加过滤和排序指令,您可以编写自己的属性来简单地提供 json 序列化支持。json 序列化只包括配置 web api 已经使用的 json.net 格式化程序。

BreezeControllerAttribute 的源代码可以在 Breeze.WebApi 项目中找到,并且非常短。只需通过复制“BreezeControllerAttribute”来创建您自己的“FooControllerAttribute”并删除 IFilterProvider 代码。

另一方面,查询和过滤支持不会有任何损害,除非您使用 EntityQuery 'where' 'orderBy' 'select' 或 'expand' 方法,否则甚至不会应用此逻辑,因此除非您想显式删除这种能力没有必要不使用'breezeControllerAttribute'

于 2013-03-06T18:02:53.993 回答