1

我们正在实现一个基于 REST 的 GET 实现,它将响应负载中的多个 URI 列表返回给客户端。稍后,客户端使用这些 URI 中的每一个,然后对每个单独的 URI 执行 GET 以获取单独的有效负载。只有在 POST 创建新资源后,URI 才会在 Location 或 Content-Location 标头中返回。

以下类型的实现是否违反了 REST 标准?

  **Initial Call** 

  GET /AllURIs
  HTTP 200 OK
  content-type:applicaton/xml
     <URIs>
       <URI> /somelocation/1 </URI>
       <URI> /somelocation/2 </URI>
       <URI> /somelocation/3 </URI>
       <URI> /somelocation/4 </URI>
       <URI> /somelocation/5 </URI>
    <URIs>

     **Later Call**

     GET /somelocation/1
     <NewObject>
      .........
     </NewObject>
4

2 回答 2

1

URL 可以在发布新资源以外的场景中返回,例如分页。

如果您有任何资源的多个相关 URL,IMO 最好的方法是将它们添加到 Link 标头中,而不是在响应负载中返回。我们已经将这种方法用于分页 url,我们将下一个、上一个、第一个和最后一个 url 作为链接标题的一部分发送

话虽如此,如果您的 REST 请求的唯一目的是获取 (GET) URL 列表,并且这就是您设计资源的方式,那么在响应正文中使用 URL 也应该没问题。

于 2013-10-25T19:23:02.077 回答
0

您应该使用绝对 URL 而不是相对 URL。您可以使用您建议的结构 - 可以,但您也可以考虑使用 Atom 链接。

于 2013-10-25T19:30:36.510 回答