我正在开发一个REST API,我们拥有一个由自然键标识的订阅资源,也就是说,它们是根据其他资源的密钥来识别的。例如:
POST /subscriptions/user/123
POST /subscriptions/company/intel
这意味着我想为用户123创建订阅或为intel创建订阅。删除这些订阅“资源”类似:
DELETE /subscriptions/user/123
DELETE /subscriptions/company/intel
这是我不确定的地方。我正在创建订阅,但我正在根据其他自然键识别订阅:user/123
或company/intel
。没有实际订阅id
。这是一种正常的做事方式,还是应该为每个订阅创建一个代理键?
答案 0 :(得分:0)
每个用户/公司可以有多个订阅吗?如果是这样,那么您将需要一个密钥来标识要删除的实际订阅。
如果没有,那么我认为这将是设计API的好方法。如果已经订阅,我希望您在POST
上生成错误 - 用户应该使用PUT
进行更新,是否正确?
如果我是GET /subscriptions/
,是否会有订阅的用户和公司列表(/subscriptions/user/123, /subscriptions/company/intel
)?
似乎合理。