从REST服务检索复杂查询的最佳方法是什么?
假设我想X集合,应用过滤器和方程各一个,使用一些其他操作相结合的藏品和一个请求返回一个结果,应有尽有.
这是太复杂(大)把一切都在查询字符串,因为我可以结合300件多套(加上运营商和过滤器各一个).
我想过使用POST发送描述查询到像一个XML对象:
http://mydomain/collections/complexQuery
Run Code Online (Sandbox Code Playgroud)
它将返回一个唯一的ID,然后我可以使用GET来检索complexQuery结果:
http://mydomain/collections/complexQuery/{queryId}
Run Code Online (Sandbox Code Playgroud)
杰森S:
这就是主意.POST将采用查询的XML表示,其中"where"参数已经存在(它们可能太多).只有在GET到达时才会执行查询.我可以让查询对象可用一段时间并稍后删除它.
这是一个好的解决方案吗?我还在RESTful吗?
如果您使用唯一的 ID,对我来说听起来很 RESTful。如果查询结果集很大,您可能需要包含一种询问结果集行 M - N 的方法,其中 M、N 是参数。
我想您独特的 ID 方法(带有存储在服务器上的查询定义状态)的一个优点是您可以使用查询的结果作为另一个查询的参数。甚至可能将 POSTING 查询的定义与查询的执行分开。
归档时间: |
|
查看次数: |
2702 次 |
最近记录: |