使用 Breezejs 生成查询字符串

Using Breezejs generate query string

本文关键字:查询 字符串 Breezejs 使用      更新时间:2023-09-26

我有一个自定义的 Odata 端点,它通过正文中的帖子而不是查询字符串来过滤它。 目前,所有查询都是手工编码的,然后输入到帖子中。我想知道是否有人知道我是否可以使用 Breezejs 来创建我需要的查询。

干杯

根据控制 AJAX 中的"OData AJAX"部分,您需要对数据副本进行更改.js以便使用 POST 而不是 GET。

如果您不关心让 breeze 加载数据,只想使用 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);

可能有一种更好/更简单的方法可以做到这一点...也许通过从 breeze odata dataService 实例中获取 uriBuilder。 我不认为这是 breeze 支持/记录的公共 API 的一部分,但听起来它会是一个很好的功能建议,可以在用户语音网站上发布。