将多个查询参数传递给restful api的最佳方法是什么?

DEz*_*zra 17 php api rest

我正在设计RESTful Api,并希望在设计API时提供一些建议,其中调用者希望基于多个搜索参数查询记录.

我只看到使用一个参数的restful apis.

我该怎么办?

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

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

我唯一的想法是:

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

但那似乎不对;-(

请指教.

另外,任何php框架都支持这个吗?例如symfony,konstrukt等

Mat*_*nen 22

我认为

http://api.myapi.com/contacts?firstname=bob&surname=smith
Run Code Online (Sandbox Code Playgroud)

如果你有一组参数,那就是你要走的路,所有参数都是可选的.

  • 我同意; 它被称为"查询"字符串 (2认同)
  • 是的,我喜欢这个。我猜查询字符串的意思是:$_SERVER['QUERY_STRING'] 包含 firstname=bob&surname=smith。或: $_GET['firstname'] 更好 - 不需要解析。http://ditio.net/2008/06/12/php-query-string/ (2认同)