api.com/users?id=id1,id2,id3,id4,id5
api.com/users?ids[]=id1&ids[]=id2&ids[]=id3&ids[]=id4&ids[]=id5
OMI, llamadas antes mencionadas no parece que va REST, sin embargo, estos son rápida y eficiente solución (y). Pero la longitud de la URL está limitada por el servidor web, por ejemplo, tomcat.
intento REST:
POST http://example.com/api/batchtask
[
{
method : "GET",
headers : [..],
url : "https://stackoverflow.com/users/id1"
},
{
method : "GET",
headers : [..],
url : "https://stackoverflow.com/users/id2"
}
]
servidor responderá URI del recién creado batchtask recursos.
201 Created
Location: "http://example.com/api/batchtask/1254"
cliente Ahora puede ir a buscar la respuesta por lotes o progreso de la tarea mediante el sondeo
GET http://example.com/api/batchtask/1254
Esta es la forma en que otros intentaron para resolver este problema:
El problema con este enfoque es que duerma' parece reparador. Por ejemplo, si quiero obtener los amigos de esta lista de usuarios – uclajatt
@uclajatt, REST es un modelo arquitectónico y no un protocolo, y si estudia las principales API REST disponibles hoy en día, verá que hay múltiples formas de implementarlo. El enfoque que estoy sugiriendo es probablemente uno de los más cercanos al concepto, ya que cumple con todas las restricciones descritas aquí: http://en.wikipedia.org/wiki/Representational_State_Transfer#Constraints. Solo usaría CSV para representar matrices en las solicitudes, mientras que las respuestas del servicio deberían ser serializadas usando XML o JSON. ¿Hay alguna razón particular por la que no consideras que mi enfoque sea REST? –
La respuesta de Florin es la forma real en que utiliza la API de OpenSocial. – Emerald214