如何指定没有值的内部URI参数

时间:2016-06-20 07:22:52

标签: rest

在我设计的REST API中,我有这样的资源URI:

/user/:userId/data/:key

表示ID为userId且数据密钥为key的用户的用户数据。

除非我需要为所有用户提供一些密钥的数据,否则它的效果很好。 我想到的两种可能的解决方案是使用特殊字符串(例如 all userId)指定/user/all/data/:key参数,或将userId作为查询字符串。在这种情况下使用的最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

使用:/user/all/data/:key/绝对不是要走的路。它迫使API客户端了解一些实现细节 - 名为 all 的专用用户就是这样一个细节。

更好的想法是使用/users/data/?key=<some key>。这样,您明确声明users的集合有一些data,您需要使用给定的data过滤这些key