如何在RESTful API中处理参数

时间:2012-03-10 15:59:23

标签: api rest

我正在为一个移动应用程序(Sencha Touch)构建一个Web服务,我正在以正确的方式处理这个问题(主观意思是“正确”)。

这是我的情况。
我正在使用谷歌日历并通过JSON将其推送到移动应用程序。我在这里有两个选择,我不知道该怎么做。

选项1是通过查询字符串传递calendarID。这允许我们在需要时替换移动应用配置中的calendarID。

  

例:
  http://example.com/calendar/events?calendarID=xyz@group.calendar.google.com&callback=asdf

选项2是使用Web服务上的配置文件来更新calendarID

  

例:
  http://example.com/calendar/events?callback=asdf

让配置坚持使用网络服务是明智的,还是更好地从移动应用程序传递配置?

[note]日历在所有用户之间共享

2 个答案:

答案 0 :(得分:1)

通常,在RESTful系统中,除了传递给您的内容之外,您不应该依赖任何公共数据。但是,听起来这更像是公共用户不关心的实现(私有)细节。因此,我认为在配置中存储它没有问题,因为它听起来在每个请求都是相同的。

这至少是我的看法。

答案 1 :(得分:1)

在这两个选项中,选项一被认为更符合REST原则。

URI旨在成为资源的唯一标识符。如果您选择了选项2,则用户A和用户B的日历(http://example.com/calendar/events?callback=asdf)将具有相同的URI,即使它们具有两个不同的日历。

您的应用程序将依赖配置文件的状态来确定如何响应此URI。 REST通常提倡无国籍

相关问题