REST如何处理后处理/包括相关资源?

时间:2013-01-03 07:02:36

标签: web-services rest computer-architecture

我有一个论坛的网络服务,我有以下两个资源:

  • / threads / frontpage,返回属于我网站首页的所有帖子
  • / users / 1,users / 2等返回由号码指定的用户。

我希望这样做,以便用户可以询问“首页上的所有主题,以及发布到这些主题的所有用户”。

通常情况下,我会将其分成多个请求,但这需要更多时间。

我唯一想到的是制作这样的网址:

/线程/头版?includePostingUsers =真

在某种程度上,它采用原始结果,然后使用它来包含其他信息,在这种情况下,是发布线程的用户。

但这似乎不太RESTful。那里有一个动词,它感觉很尴尬。我如何RESTful地做这个?

谢谢!

2 个答案:

答案 0 :(得分:2)

在查询参数中使用动词不一定非RESTful。我会说,拥有干净的资源和动词是常见的(也是更重要的),但是要将更多涉及的功能包含在查询参数中,就像使用?includePostingUsers=true一样。

Apigee发表了一本关于Crafting Restful API的实用小册子:

答案 1 :(得分:0)

如果您不想在网址中显示?includePostingUsers=true,请使用发布请求。 你为什么不传递像

这样的参数
/threads/frontpage?uid=1