我在很多帖子中看到Breeze.js应该与任何http服务资源一起使用。
在Breeze Documentation中,您始终可以参考OData网址。
例如,以下微风代码:
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后端服务器的请求的方式?我在Breeze doc中遗漏了什么吗?谢谢你的帮助。
答案 0 :(得分:2)
看看Edmunds的样本。在该示例中,breeze客户端发出不使用OData的服务请求。
如果您的服务不支持OData查询语法,则无法在breeze客户端上使用类似LINQ的查询表达式。你不能使用“where”和“orderBy”。这就是交易。
您仍然可以为接受GET请求的任何服务端点撰写查询。 EntityQuery.from(anyURL)
应该可以正常工作。您仍然可以利用Breeze客户端数据管理的其他好处 - 缓存,验证,实体导航等。但您可能必须在客户端上构建元数据并处理查询并自行保存。