我们正在实现一个基于REST的GET实现,它将响应有效负载中的多个URI列表返回给客户端。稍后,客户端使用这些URI中的每一个,然后对每个单独的URI执行GET以获取单独的有效负载。只有在POST创建新资源后,才会在Location或Content-Location标头中返回URI。
以下类型的实施是否违反了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>
答案 0 :(得分:1)
可以在发布新资源(例如分页)之外的方案中返回URL。
如果您有任何资源的多个相关URL,IMO最好将它们添加到链接头中,而不是在响应有效负载中返回。我们已将此方法用于分页网址,我们在Link Header
中发送了下一个,上一个,第一个和最后一个网址话虽如此,如果您的REST请求的唯一目的是获取(GET)URL列表,这就是您设计资源的方式,那么在响应正文中也可以使用URL。
答案 1 :(得分:0)
您应该使用绝对URL而不是相对URL。你可以使用你提出的结构 - 没关系,但你也可以考虑使用Atom链接。