我有一个自定义的Odata端点,它通过正文中的帖子而不是查询字符串进行过滤。目前,所有查询都是手动编码,然后输入到帖子中。 我想知道是否有人知道我是否可以使用Breezejs来创建我需要的查询。
干杯
答案 0 :(得分:0)
根据" OData AJAX" Controlling AJAX中的部分您需要更改data.js的副本,以便使用POST代替GET。
如果您不关心轻松加载数据并且只想使用EntityQuery语法来构建查询,您可以尝试获取breeze odata uriBuilder的实例并调用buildUri方法来转换EntityQuery到一个odata uri。假设有效,那么抓住uri的查询字符串组件就可以在POST主体中使用了。
var interfaceRegistry = breeze.config.interfaceRegistry,
uriBuilderInterface = interfaceRegistry.uriBuilder,
uriBuilderCtor = uriBuilderInterface.getImpl('odata').ctor,
uriBuilder = new uriBuilderCtor(),
uri = uriBuilder.buildUri(entityQuery, metadataStore);
可能有一种更好/更简单的方法可以做到这一点......也许是通过从微风odata dataService实例中获取uriBuilder。我不认为这是微风支持/记录的公共API的一部分,但听起来它会在user voice网站上发布一个很好的功能建议。