使用正文中的数据获取请求

时间:2013-06-09 23:19:13

标签: rest asp.net-web-api

我正在实现一个提供数据但不对数据进行修改的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请求。

在这里做什么是正确的?

1 个答案:

答案 0 :(得分:1)

HTTP不允许您在GET正文中发送有意义的信息。但是,您可以在请求URI中发送列表。

此URI完全有效。

GET /tickets?ids=1,3,5,7,9&filter=on-sale