我正在设计用于访问媒体的 RESTful 资源。媒体可以是实时流或存档流。我使用 O'Riellys 文本“RESTful Web 服务”作为指南,但我正在努力处理与“可编程网络”和“人类网络”相关的资源表示。对于人类网络请求,我想返回HTML 表示。对于可编程的 Web 请求,我想返回 XML。话虽如此,请考虑:
GET http:// localhost :8080/stream - returns a list of streams
GET http:// localhost :8080/search?stream=abc - return a specific stream
如何区分来自“人类网络”和“可编程网络”的请求,以便我可以返回正确的表示?
O'Reillys 的文字似乎建议设计两个单独的资源。从 PDF 的第 24 页,他说:
我会使用相同的工具来获取和处理网页。这两个 URI: 1) http:// api。search.yahoo.com/WebSearchService/V1/webSearch?appid=restbook&query=jellyfish 2) http://search.yahoo.com/search?p=jellyfish 指向同一事物的不同形式:“搜索结果列表查询 'jellyfish'。”一个 URI 服务于 HTML,旨在供 Web 浏览器使用;另一个服务于 XML,旨在供自动化客户端使用。
处理人类网络和可编程网络的两种独立资源是规范还是有替代方案?欢迎提出想法。