2010-06-04 95 views
2

试图让RESTfulness最佳实践URI的交手... 假设RESTful:参数化数据请求中的最佳URI实践?

  • /service/user.xml与所有用户数据返回XML
  • /服务/用户/ 1.xml返回xml,其中包含用于用户标识1的数据

如果我只想获取用户的电子邮件地址,该怎么办?

  • /service/user.xml? par =电子邮件或/服务/用户/ 电子邮件 .xml所有用户?
  • /service/user/1.xml? par =电子邮件或/服务/用户/ 电子邮件 /1.xml用户ID 1?

祺/乔纳斯

回答

1

在我看来,这是有道理的,如果你认为它是不断地缩小搜索范围。你先用“物”的巨大集合开始,细化,越来越具体..

如此这般:

service -> choosing a particular user -> specify that user id -> specify what you need from them -> specify in what format you want that information

service/user/:id/email.:format

或者,止跌”不要说service/user/:id.:format?parameter=:param,如果没有必要为潜在的微不足道的事情创建一条完整的路线。

我认为最终这些细节并不总是“最好的方式”,而是一些“推荐的方式”,其中一个最适合你。

您可能会感兴趣theselinks

+0

谢谢Jeriko!缩小的方法似乎是要走的路!在我的情况/service/user/1/email.xml。大! – Cambiata 2010-06-04 09:41:48

+0

我看到其他答案已被删除..我经常对这里的复数/单数感到疑惑..想要听到这方面的一些意见,就像我被撕裂一样。由于Rails的原因,我学习了RESTful设计,并且他们引导你进入'/ users /'和'/ users/1',尽管我直观地预期了'/ users /'和'/ user/1'。 “复合路线”实际上有一个选择。 – Jeriko 2010-06-04 10:00:25

+0

嗯,这是有趣的东西... ...按照你的缩小方法,复数版本将是合理的:/用户/ =所有用户,/用户/ 1/=缩小所有用户到用户ID 1 ... – Cambiata 2010-06-04 10:24:39