我正在使用RESTlet为一组相关资源设计RESTful API。在RESTful API中表示关系
例如:
人(/人/ 124)资源有一个属性 “favoriteThing”,可能是汽车,食品,玩具。
现在让我们说一个API的用户想要通过执行POST到/ person/124/favoriteThing URL来更新这个属性。
但是,为了处理这个请求,我需要在Datastore中记录这个新的关系(需要一个Key(Kind,Id))。
所以我有两个令人不安的选择:
1)预计在POST的主体中的URL(这似乎RESETful) 但我怎么能干净地从网址到数据存储的关键翻译,需要(种类,ID) 。
2)预期(种类,ID)在POST(很容易) 的身体,但这种允许不是URL以外的东西,作为一个资源标识符的API
什么是最RESTful的解决办法这个问题? 也许不是我所考虑的。
我使用的Java与Restlet框架。但关键的想法是一样的。所以听起来像正确的解决方案是提出某种URI->键映射机制,并且绝不暴露API以外的字段的ID。 –