1

我在很多不同的帖子中看到Breeze.js应该适用于任何 http 服务资源。

Breeze Documentation中,您始终可以引用 OData url。

例如下面的微风代码:

var query = breeze.EntityQuery()
                  .from("Customers")
                  .where("CompanyName", "startsWith", "C")
                  .orderBy("CompanyName");

将产生以下 OData 请求:

http://www.example.com/api/Northwind/Customers?$filter=startswith(CompanyName,'C') eq true&$orderby=CompanyName

很好,但我使用的是 Django+Tastypie,它不支持 OData 参数,所以这个请求在我的后端失败。

我应该如何改变微风.js 生成对 API 后端服务器的请求的方式?我错过了微风文档中的某些内容吗?我感谢您的帮助。

4

1 回答 1

2

看看 Edmunds 样本。在该示例中,微风客户端发出不使用 OData 的服务请求。

如果您的服务不支持 OData 查询语法,则您不能在微风客户端上使用类似 LINQ 的查询表达式。您不能使用“where”和“orderBy”。就是这样。

您仍然可以为任何接受 GET 请求的服务端点编写查询。EntityQuery.from(anyURL)应该可以正常工作。您仍然可以利用 Breeze 客户端数据管理的其他好处 - 缓存、验证、实体导航等。但是您可能必须在客户端上构建元数据并处理查询并保存自己。

于 2013-08-27T07:43:01.523 回答