当我想从measurements
检索未删除的installations
时,查询应如何显示?
那样的东西?
/my-web-service/installations/measurements/last?removed=false
问题是,我不想检索未从measurements
删除的最后installations
。我想从measurements
中检索未删除的最后installations
。
答案 0 :(得分:1)
根据this best practices article,您可以使用“别名进行常见查询”:
为普通消费者提供更愉悦的API体验, 考虑将一系列条件打包成易于访问的条件 RESTful路径。例如,上面最近关闭的票证查询 可以打包为GET / tickets / recent_closed
所以,在你的情况下,它可能是:
/my-web-service/installations/non_removed/measurements/last
其中non_removed
将是查询未删除的安装的别名。
希望它有所帮助!
答案 1 :(得分:1)
我在这里看到了几种可能性:
如果您需要从端点以事务方式读取数据,那么您的设计方式就是您的选择。我要更改的是从removed
到installationRemoved
的参数名称,因为它更具描述性并将端点缩短为/my-web-service/measurements/
- 因为installations
它不清楚客户在哪个范围内运作。另外,您是否需要since
参数来过滤最后测量值?
我有机会拆分我添加的两个端点:
/my-web-service/installations/?removed=false
/my-web-service/measurements/?since=timestamp&installations=<array>
它不会使它变得更好(当涉及到更好或更糟)但对用户来说更容易和更具预测性。
一般情况下,尝试使用过滤选项添加更多通用端点,而不是高度专注 - 做一件特别的事情。这种方式导致难以使用的松散API。此外,在filtering上。
最后通知,如果您的客户使用它不是因为他们必须使用,而是他们喜欢的话,那么您的API是好的;)