微风与第三方API

时间:2013-03-06 16:21:02

标签: breeze

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

1 个答案:

答案 0 :(得分:0)

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

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

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

另一方面,查询和过滤支持不会伤害任何东西,除非你使用EntityQuery'where''orderBy''select'或'expand'方法,否则甚至不应用这个逻辑,所以除非你想要要明确删除此功能,就不需要使用'breezeControllerAttribute'