0

使用 Rest API,我尝试将 $select 与 $expand 一起使用,如下所示:

https://priority.company.biz/odata/Priority/tabula.ini/company/DOCUMENTS_D?$filter=CURDATE ge 2020-01-01 and CURDATE le 2020-01-31&$expand=TRANSORDER_D_SUBFORM&$select=CUSTNAME,CDES

我收到 500 错误。看来这两个运算符不能一起工作。我分别尝试了它们中的每一个,它们都可以工作。有什么见解吗?

4

3 回答 3

1

您从哪个编程语言调用其余服务?如果您使用休息日期格式 CURDATE eq 2020-04-28T00:00:00+00:00 当您使用特殊字符(如 +)调用 url 时,它可以正常工作,您必须将其替换为例如 + = %2B

例如,从 C# 中,我们使用 Uri.EscapeDataString(MyDateString) 来组合 URL 中的日期

于 2020-05-08T07:57:32.140 回答
0

组合$expand$select功能时,您必须在$select参数中包含上级表单的键。

您更正的网址:

https://priority.company.biz/odata/Priority/tabula.ini/company/DOCUMENTS_D?$filter=CURDATE ge 2020-01-01 and CURDATE le 2020-01-31&$expand=TRANSORDER_D_SUBFORM&$select=CUSTNAME,CDES,DOCNO,TYPE

优先软件最近将其添加到其文档中:

注意:当对具有复合键的子表单使用 $expand 命令时,$select 命令必须包括上级表单中的所有键字段

我补充说:它不仅适用于复合键,而且适用于所有简单的“单列”键。

于 2020-05-11T15:35:43.760 回答
0

尝试这个:

子表单需要在括号中,并且在子表单的选择之前没有 &

https://priority.company.biz/odata/Priority/tabula.ini/company/DOCUMENTS_D?$select=DOCNO,TYPE,CUSTNAME, CDES&$filter=CURDATE ge 2020-01-01 and CURDATE le 2020-01-31&$expand=TRANSORDER_D_SUBFORM
于 2020-04-12T17:01:10.910 回答