按类别或字段筛选休息服务

时间:2014-10-30 16:26:25

标签: json rest xpages

我正在使用扩展库的rest控件来提供json数据馈送。是否可以按类别或带有URL参数的字段进行过滤?

我知道我可以使用搜索字符串“& search = something”但这可能会给我带来错误的结果。我试过搜索一个等于某个值的字段,但这对我来说似乎不起作用。

如果我不能使用其余控件执行此操作,是否可以使用Domino Data Services?

1 个答案:

答案 0 :(得分:3)

如果您向网址添加?keys=yourValue,则可以按viewJsonService中的类别或字段值进行过滤。

REST服务返回与view.getAllDocumentsByKey(" yourValue")相同的文档。

默认为非精确匹配过滤,这意味着只有列值的开头必须匹配。如果您想要完全匹配,请将&keysexactmatch=true添加到URL,该URL等同于view.getAllDocumentsByKey(" yourValue",true)。

示例:

假设我们有一个观点" Forms"使用第一个排序列" Form"。

使用REST服务

<xe:restService
    id="restService1"
    pathInfo="DocsByForm">
    <xe:this.service>
        <xe:viewJsonService
            viewName="Forms"
            defaultColumns="true">
        </xe:viewJsonService>
    </xe:this.service>
</xe:restService>

和网址

http://server/database.nsf/RestServices.xsp/DocsByForm?keys=Memo&keysexactmatch=true

我们通过Form =&#34; Memo&#34;获取所有文件。作为JSON

[
  {
      "@entryid":"7-D5029CB83351A9A6C1257D820031E927",
      "@unid":"D5029CB83351A9A6C1257D820031E927",
      "@noteid":"11DA",
      "@position":"7",
      "@siblings":14,
      "@form":"Memo",
      "Form":"Memo",
      ... other columns ...
  },
  ... other documents
]

如果对第一列进行分类,我们会得到相同的结果。