【问题标题】:What is best way to pass multiple query parameters to a restful api?将多个查询参数传递给restful api的最佳方法是什么?
【发布时间】:2011-02-08 02:14:24
【问题描述】:

我正在设计 RESTful Api,希望获得一些关于设计 API 的建议,在该 API 中调用者希望根据多个搜索参数查询记录。

我只见过使用一个参数的restful api。

我该怎么做?

例如如果我为联系人列表创建了一个 restful api,我将如何格式化返回所有带有 firstname==bob 和 surname==smith 的联系人的调用?

我想它应该是一个 GET,因为我正在检索?

我唯一的想法是:

http://api.myapi.com/contacts/firstname/bob&surname=smith

但这似乎不对 ;-(

请指教。

另外,是否有任何 php 框架支持此功能?例如symfony、konstrukt 等

【问题讨论】:

  • 是的,使用 symfony,您可以轻松创建类似于 /contacts/bob/smith 的 URL。
  • 这会迫使我只允许第二个参数是姓氏吗?

标签: php api rest


【解决方案1】:

我认为

http://api.myapi.com/contacts?firstname=bob&surname=smith

如果您有一组参数,则要走的路,所有这些都是可选的。

【讨论】:

  • 我同意;它被称为“查询”字符串
  • 是的,我喜欢这个。我猜查询字符串的意思是:$_SERVER['QUERY_STRING'] 包含名字=bob&surname=smith。或: $_GET['firstname'] 更好 - 需要的解析更少。 ditio.net/2008/06/12/php-query-string
  • 你甚至可以通过 $_GET 循环来构建查询
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-05
  • 1970-01-01
  • 2010-10-16
  • 1970-01-01
  • 2011-07-07
相关资源
最近更新 更多