api.com/users?id=id1,id2,id3,id4,id5
api.com/users?ids[]=id1&ids[]=id2&ids[]=id3&ids[]=id4&ids[]=id5
IMO, вышеуказанные вызовы не выглядят RESTful, однако это быстрое и эффективное обходное решение (y). Но длина URL-адреса ограничена веб-сервером, например, tomcat .
RESTful попытка:
POST http://example.com/api/batchtask
[
{
method : "GET",
headers : [..],
url : "/users/id1"
},
{
method : "GET",
headers : [..],
url : "/users/id2"
}
]
Сервер ответит на URI вновь созданного ресурса пакетной задачи .
201 Created
Location: "http://example.com/api/batchtask/1254"
Теперь клиент может получить пакетный ответ или ход выполнения задачи путем опроса
GET http://example.com/api/batchtask/1254
Вот как другие пытались решить эту проблему: