Ho un'applicazione Android che comunica con il server usando REST. Durante il flusso, il client (Android) di solito invia 3 richieste separate al server con dati diversi.
Alcuni dei dati inviati durante la prima richiesta vengono utilizzati anche durante la terza richiesta. Ovviamente, non vogliamo chiedere all'utente di inserire due volte gli stessi dati, quindi pensiamo di memorizzare i dati in sessione. Creiamo la sessione utilizzando i token Web JSON.
Quindi, sembra che abbiamo 2 opzioni:
- Memorizza i dati della sessione sul lato client (Android) e invia nuovamente i dati nella terza richiesta
- Archivia i dati di sessione sul lato server nel database temporaneo e utilizza i dati da lì quando necessario (nella terza richiesta)
Da quello che vedo, nel primo approccio invieremo più dati nella terza richiesta, ma sul lato server non dobbiamo fare una chiamata al database per memorizzare i dati nella prima richiesta e recuperare più tardi nel 3 °.
Sembra che l'invio di un po 'più di dati (nel nostro caso si tratta di una stringa di 10-20 caratteri) è meno costoso, quindi passa al DB due volte (prima per memorizzare i dati e successivamente per recuperare i dati)
Qual è la migliore pratica qui? Dipende dalla quantità di dati? Ci sono più pro e contro? Ci sono altre soluzioni migliori?
Inoltre, sembra che la memorizzazione dei dati sul lato server sia in conflitto con il principio Stateless del REST