Digamos que tengo una tienda en línea con una función de "carrito de la compra" y quiero implementar un enlace de "carrito vacío" de forma RESTANTE.RESTful Actualizaciones múltiples (Ejemplo: ¿Borrar un carrito de compras)?
Para simplificar, digamos que mis recursos son un carro que contiene CartItems, cada uno de los cuales tiene un producto. Mis URIs pueden ser:
# add a product to the current user's Cart POST /products/product_id/cart_items/ # remove a product from the current user's Cart DELETE /cart_items/cart_item_id/
Si es así, ¿cuál sería el URI de descanso para el aspecto enlace "carro vacío" como?
En cambio, podría pensar en el carro como un soporte de propósito general para acciones (as described here):
# add a product # form data contains e.g., product_id=123&action=add POST /carts/cart_id/actions/ # remove a product # action_id is the id of the action adding product 123 DELETE actions/action_id # empty cart # form data contains action=clear POST /carts/cart_id/actions/
Este enfoque parece más complicado de lo que tiene que ser. ¿Cuál sería una mejor manera?
Vaciar el carrito con 'DELETE carts/{cartid}/items' parece mucho más intuitivo en su ejemplo (de lo contrario, muy claro). – Tomas
¿Tiene alguna duda sobre la seguridad de colocar un carrito de compras en una URL? –
@Breako no si el cartid es un guid generado aleatoriamente. Incluso entonces, se deben hacer comprobaciones de seguridad para validar al "propietario" del carrito. –