我正在实现一个提供数据但不对数据进行修改的API端点 - 这就是“获取与此过滤器列表匹配的所有项目”,其中过滤器可能类似于“ID> 200 “或”propertyA!= null“。
在实际实现中,我必须向端点发送一个数组,在每个id的基础上指定一堆资源来GET回到客户端。像
这样的东西GET api/tickets
{
ids: [1, 3, 5, 7, 9],
filter: "on-sale"
}
根据我的理解,一个Restfully实现的api不会使用GET来处理这种请求,因为它只能在url中指定目标资源的id,而且正文中没有内容。
虽然我不认为我必须将这个东西变成PUT或POST请求。
在这里做什么是正确的?
答案 0 :(得分:1)
HTTP不允许您在GET正文中发送有意义的信息。但是,您可以在请求URI中发送列表。
此URI完全有效。
GET /tickets?ids=1,3,5,7,9&filter=on-sale