OneM2M 中条件检索的 QueryString 结构?
QueryString Structure of a Conditial Retrieve in OneM2M?
这是一个示例资源树。
我需要一起检索 cnt-2 和 cnt-0 最近 48 小时的数据。我应该在请求中放入什么样的查询字符串?
/in-cse
/in-cse/ae-123
/in-cse/cnt-2
/in-cse/cin-21
/in-cse/cin-22
/in-cse/cin-23
/in-cse/ae-124
/in-cse/cnt-0
/in-cse/cin-01
/in-cse/cin-02
/in-cse/cin-03
/in-cse/cnt-1
/in-cse/cin-11
/in-cse/cin-22
/in-cse/cin-33
我应该把 cnt-0 和 cnt-2 的 id 放在查询字符串的什么地方?
/onem2m/api/v1/~/in-cse?fu=2&crb=20190808T000000&cra=20190806T000000&ty=4
另外,我应该只使用查询字符串进行发现还是发出 POST 请求是否有效?
通过您问题中的示例请求,您还将获得 cnt-1 的所有匹配 资源,因为您是在 IN- CSE。不幸的是,您不能在单个请求中有多个目标,但我看到至少有两种解决方案适用于您的用例:
- 您可以为两个
资源添加标签,并将标签添加到您的搜索中。
/onem2m/api/v1/~/in-cse?fu=2&crb=20190808T000000&cra=20190806T000000&label=myLabel&ty=4
- 您可以添加一个
,其中包含对您的用例很重要的 资源(即 cnt-0 和 cnt- 2) 并使 的 fanoutPoint 成为您的发现请求的目标。然后 CSE 负责将发现重定向到 的每个成员。
/onem2m/api/v1/~/in-cse/aGroup/fopt?fu=2&crb=20190808T000000&cra=20190806T000000&ty=4
在我看来,第二种方法更"elegant"一种,因为它使两个 资源的(应用)关系更加清晰,但如果您的 ,第一种方法也可能是可行的无论如何,资源都使用标签进行标记。
关于 POST 请求:对于 HTTP 绑定查询参数只允许用于过滤和发现。请查看 TS-0009,部分 6.2.2.2 查询组件。
顺便说一句,目前在 oneM2M 中正在进行讨论,以更好地描述检索和发现之间的差异。
这是一个示例资源树。
我需要一起检索 cnt-2 和 cnt-0 最近 48 小时的数据。我应该在请求中放入什么样的查询字符串?
/in-cse
/in-cse/ae-123
/in-cse/cnt-2
/in-cse/cin-21
/in-cse/cin-22
/in-cse/cin-23
/in-cse/ae-124
/in-cse/cnt-0
/in-cse/cin-01
/in-cse/cin-02
/in-cse/cin-03
/in-cse/cnt-1
/in-cse/cin-11
/in-cse/cin-22
/in-cse/cin-33
我应该把 cnt-0 和 cnt-2 的 id 放在查询字符串的什么地方?
/onem2m/api/v1/~/in-cse?fu=2&crb=20190808T000000&cra=20190806T000000&ty=4
另外,我应该只使用查询字符串进行发现还是发出 POST 请求是否有效?
通过您问题中的示例请求,您还将获得 cnt-1 的所有匹配
- 您可以为两个
资源添加标签,并将标签添加到您的搜索中。
/onem2m/api/v1/~/in-cse?fu=2&crb=20190808T000000&cra=20190806T000000&label=myLabel&ty=4
- 您可以添加一个
,其中包含对您的用例很重要的 资源(即 cnt-0 和 cnt- 2) 并使 的 fanoutPoint 成为您的发现请求的目标。然后 CSE 负责将发现重定向到 的每个成员。
/onem2m/api/v1/~/in-cse/aGroup/fopt?fu=2&crb=20190808T000000&cra=20190806T000000&ty=4
在我看来,第二种方法更"elegant"一种,因为它使两个
关于 POST 请求:对于 HTTP 绑定查询参数只允许用于过滤和发现。请查看 TS-0009,部分 6.2.2.2 查询组件。
顺便说一句,目前在 oneM2M 中正在进行讨论,以更好地描述检索和发现之间的差异。