在网址中传递休息资源输出格式

时间:2014-12-09 18:18:06

标签: rest format url-design

AFAIK每个资源都有REST设计的URL。例如/user/28是ID等于28的用户的网址,/users将返回所有用户。

有一些方法可以表示资源的输出格式:

  • 传递format
  • 等查询参数
  • 使用扩展名指定它(将/users网址更改为/users.json以获取json格式的用户)
  • 通过设置Accept http标头指定请求的格式(xml,json,xls,...)。

我在网上搜索,似乎正确的方法是设置Accept标头。 但是如果你想要一个http链接(由href指定)以xls格式下载用户列表,你就不能!而且如果你想通过浏览器下载xls,你会遇到很多问题(你应该使用ajax所以xls应该使用ajax等下载。)

如果这是最好的方式,下载链接的解决方案是什么,如果不是,哪种解决方案更好?

1 个答案:

答案 0 :(得分:0)

Accept标题被视为“更正确”,但您提到的所有选项都有很多示例。据我所知,其中没有一个被认为是"坏"。就个人而言,我说你应该尊重并更喜欢Accept标题,但format查询参数应该覆盖它(如果存在)。延伸的劣势'方法是每种格式导致不同的资源,这可能会变得丑陋。