我正在考虑在客户端使用Sailsjs进行服务器端处理和验证以及角度。显然,BreezeJS支持Odata和WebApi与数据源的交互。我知道Sails提供开箱即用的REST Api。
我如何设置Sails为Breeze提供OData或WebApi连接?
此外,还有其他众所周知的方法将Sails连接到Angular,它提供了在客户端生成查询然后在服务器上执行的能力吗? (我的用例是在批量更新数据源之前过滤大型数据集并在客户端上操作结果)
谢谢!
答案 0 :(得分:1)
您使用的是什么数据库和/或ORM?这会影响答案,因为必须将OData查询转换为ORM /数据库的相应查询。以下其中一项可能对您有用:
breeze.server.node repo包含一个OData解析器,可将OData URL转换为表达式树。然后有适配器将这些表达式树转换为MongoDB queries或Sequelize queries。如果您使用的是MongoDB或Sequelize,这可能就是您所需要的。如果不存在,您可以为Waterline编写自己的适配器。
breeze.js.labs repo包含breeze.ajaxrestinterceptor.js
,它将Breeze的OData网址转换为REST风格的资源网址。它仅支持可能的URL的子集,并且需要适应您自己的API约定。
即将推出的Breeze版本将提供OData的替代方案:一种全JSON查询语言,受MongoDB和Sequelize查询语言的启发。这样可以更轻松地编写自己的后端,并在将来支持Sails / Waterline。