Diciamo che ho un servizio RESTful, basato su ipertesto, che modella una gelateria. Per aiutare a gestire meglio il mio negozio, voglio essere in grado di visualizzare un rapporto giornaliero che elenca la quantità e il valore in dollari di ogni tipo di gelato venduto.Rappresentazioni transitori REST
Sembra che questa funzionalità di reporting possa essere esposta come una risorsa denominata DailyReport. Un DailyReport può essere generato rapidamente e non sembra esserci alcun vantaggio per l'archiviazione dei report sul server. Voglio solo un DailyReport per alcuni giorni, altri giorni non mi interessa ottenere un DailyReport. Inoltre, la memorizzazione di DailyReports sul server complicherebbe le implementazioni dei client, che avrebbero bisogno di ricordare di cancellare i report di cui non hanno più bisogno.
Un DailyReport è temporaneo; la sua rappresentazione può essere recuperata solo una volta. Un modo per implementare questo sarebbe offrire un link "/ daily-reports", un POST a cui verrà restituita una risposta contenente una rappresentazione DailyReport che elenca le informazioni per le vendite di quel giorno.
Modifica: Diciamo anche che voglio davvero fare una richiesta POST. Un DailyReport ha molte opzioni diverse per creare una vista come ordinare i tipi di gelato in ordine alfabetico, in base al valore in dollari - o includere una ripartizione oraria - o facoltativamente includendo la temperatura per quel giorno - o filtrare determinati tipi di gelato (come elenco). Piuttosto che utilizzare i parametri di query con un GET, preferirei POST una rappresentazione DailyReport con le opzioni appropriate (utilizzando un tipo di supporto personalizzato ben definito per documentare ciascuna opzione). La rappresentazione che torno mostrerà le mie opzioni insieme al rapporto stesso.
È questo il modo corretto di pensare al problema oppure dovrebbe essere utilizzato un altro approccio? Se è corretto, quali considerazioni speciali potrebbero essere importanti quando si implementa la risorsa DailyReport? (Ad esempio, probabilmente non sarebbe appropriato impostare l'intestazione Location quando si torna dopo una richiesta POST).
ha recentemente fatto qualcosa di simile, tranne che ho (finora) reso 'daily_report' un reindirizzamento non permanente alla versione permanente. – xenoterracide