Me gustaría obtener algunos consejos sobre el diseño de una API REST que permitirá a los clientes agregar/eliminar grandes cantidades de objetos a una colección de manera eficiente.Manipulación de la colección masiva a través de una API REST (RESTful)
A través de la API, los clientes necesitan poder agregar elementos a la colección y eliminar elementos de ella, así como manipular los elementos existentes. En muchos casos, el cliente querrá realizar actualizaciones masivas a la colección, p. agregando 1000 elementos y eliminando 500 artículos diferentes. Parece que el cliente debería poder hacer esto en una sola transacción con el servidor, en lugar de requerir 1000 solicitudes POST separadas y 500 DELETE.
¿Alguien tiene alguna información sobre las mejores prácticas o convenciones para lograr esto?
Mi pensamiento actual es que uno debería PONER un objeto que representa el cambio en el URI de la colección, pero esto parece estar en desacuerdo con el HTTP 1.1 RFC, lo que parece sugerir que los datos enviados en una solicitud PUT deben interpretarse de forma independiente a partir de los datos ya presentes en el URI. Esto implica que el cliente debería enviar una descripción completa del nuevo estado de la colección de una sola vez, que puede ser mucho más grande que el cambio, o incluso ser más de lo que el cliente sabría cuando realiza la solicitud.
Obviamente, me alegraría desviarme de la RFC si fuera necesario, pero preferiría hacer esto de una manera convencional si existe tal convención.
¿Controla a los clientes que usan su API o necesita dar soporte a los productos de clientes existentes? En otras palabras: ¿Puede definir la semántica de las entidades de solicitud? – mkoeller