Digamos que tengo un servicio RESTful impulsado por hipertexto que modela una heladería. Para ayudar a administrar mejor mi tienda, quiero poder mostrar un informe diario que enumere la cantidad y el valor en dólares de cada tipo de helado vendido.Representaciones REST transitorias
Parece que esta capacidad de informe podría exponerse como un recurso llamado DailyReport. Un DailyReport se puede generar rápidamente, y no parece haber ninguna ventaja para almacenar realmente los informes en el servidor. Solo quiero un DailyReport por algunos días, otros días no me importa obtener un DailyReport. Además, el almacenamiento de DailyReports en el servidor complicaría las implementaciones de los clientes, que deberían recordar eliminar los informes que ya no necesitan.
Un DailyReport es transitorio; su representación puede ser recuperada solo una vez. Una forma de implementar esto sería ofrecer un enlace "/ daily-reports", un POST al que se devolverá una respuesta que contiene una representación de DailyReport que enumera la información para las ventas de ese día.
Editar: Digamos que realmente quiero hacer una solicitud POST. Un InformeDiarial tiene muchas opciones diferentes para crear una vista, como ordenar los tipos de helado alfabéticamente, por valor en dólares (o incluir un desglose por hora) u opcionalmente incluir la temperatura de ese día o filtrar ciertos tipos de helado (como una lista). En lugar de utilizar parámetros de consulta con un GET, prefiero PUBLICAR una representación DailyReport con las opciones adecuadas (utilizando un tipo de medio personalizado bien definido para documentar cada opción). La representación que obtengo mostrará mis opciones junto con el informe en sí.
¿Es esta la forma correcta de pensar sobre el problema, o debería usarse algún otro enfoque? Si es correcto, ¿qué consideraciones especiales pueden ser importantes al implementar el recurso DailyReport? (Por ejemplo, probablemente no sea apropiado configurar el encabezado de ubicación cuando se devuelve después de una solicitud POST).
recientemente hice algo como esto, excepto que he (hasta ahora) hecho de 'daily_report' una redirección no permanente a la versión permanente. – xenoterracide