当前位置:  开发笔记 > Android > 正文

RESTful API排序困境

如何解决《RESTfulAPI排序困境》经验,为你挑选了1个好方法。

我有REST API实现遵循以下原则:休息只返回基本文档,并在那些文档中引用如何获取其他东西等

例如,/ car/5会给我模型:blabla,user_id:1然后如果你需要拥有者你将获得/ user/1来获取用户数据..

这样就可以避免在DB中使用JOINS和东西.所有东西都在它们之间连接,并且在休息客户端部分上相互连接的数据 - 保持简单易于缓存/删除缓存,扩展等.

但是当你需要排序时会发生什么?

想象一下,我们在前端有一些视图来显示以下数据:汽车模型,用户名等......你想按用户名排序,例如.

您无法真正告诉/ car/5按用户名排序,因为它只知道用户ID ...

我看到的一个选项是从用户/用户/列表中排序?sortby = username,然后互连其中哪些返回的ID实际上是指汽车.但这意味着我们需要获得所有用户......并且只使用那些看似杀手性能瓶颈的部分.

谢谢你的任何指示



1> Rowland Shaw..:

我认为你试图避免加入所有错误的原因,因为采用这种方法,你将不得不服务更多的请求.

如果您改回了所有显示的信息(即加入数据库端),那么客户端将不得不减少查询次数,您可以进行排序而无需(懒惰)加载所有子项对象.

另一种选择是将子对象作为子XML元素返回(与OpenStreetMap的RESTful接口的工作方式类似).您仍然可以从客户端获得一次命中,并且您应该能够优化查询以最小化数据库上的负载.

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有