我目前正在实现一个 REST API。我有一个资源模型,其中包含各个资源之间的大量关系。
我的问题是:如何以 RESTful 方式将两个现有资源相互链接(建立关系)?
我遇到的一种解决方案是使用 LINK 和 UNLINK HTTP 动词。API 使用者将能够使用 LINK 和以下 URI 链接两个资源:/resource1/:id1/resource2/:id2。
这个解决方案的问题是缺乏对 LINK 和 UNLINK 动词的支持。http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html或http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol都没有提到动词,它们似乎在很大程度上被“遗忘”了。但是,原始 RFC 2068 确实声明它们存在。
我真的很喜欢这个解决方案。但是,由于缺乏对 LINK/UNLINK 的支持,恐怕许多 API 消费者/客户端将无法处理该解决方案。这是一个可接受的解决方案,还是有更好和/或更优雅的解决方案来链接 RESTful API 中的现有资源?
谢谢