我在很多不同的文章中看到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参数,因此该请求在我的后端失败。

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

最佳答案

看一下Edmunds示例。在该示例中,微风客户端发出不讲OData的服务请求。

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

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

10-05 20:45
查看更多