在过去的几周里,我一直在用 PHP(Laravel 框架)构建一个 RESTful API。我也在构建一个使用这个 API 的 JavaScript 前端(jQuery / Backbone)。
在这个 API 中,有一些 GET 请求需要相当多的查询参数,其中大部分是 ID 数组。我的结构是这样的:
/api/cars?colors[]=1&colors[]=3&makes[]=6&makes[]=2&sold=false
(例如 ID=1 的颜色是红色,ID=6 的品牌是奥迪等)
在 PHP 中,从 $_GET['colors'] 解析数组是开箱即用的。另外,当我使用
$.ajax({
url: "someurl",
method: "GET",
data: {
cars: theCarsArray,
makes: theMakesArray,
sold: false
}
});
似乎也可以正常工作(如上所述,数组是在 URL 中发送的)。我想知道:这是在 REST 接口中发送 ID 数组的公认方法吗?这种方法有什么缺点吗?有哪些替代方案?