Sto lavorando su un sistema basato su permessi in cui un utente può richiedere qualsiasi risorsa consentita in base al suo ruolo, la risorsa può essere uno dei seguenti tipi:
- VM
- DB
- ecc.
La richiesta dovrebbe contenere le informazioni come gestore, il suo centro di costo e infine il tipo di risorsa richiesta.
Il controllore del modulo di richiesta deve fare il lavoro pesante per filtrare l'elenco delle risorse e i centri di costo in base al suo ruolo, un amministratore può invece richiedere qualsiasi risorsa per conto di qualsiasi manager e del suo centro di costo.
Al momento ci sono le seguenti chiamate di rete:
- Richiedi i dettagli dell'utente
- Richiedi tutti i centri di costo
- Richiedi gestori visibili all'utente
- Richiesta di tipi di risorsa consentiti per l'utente connesso
Vedo che oggigiorno le applicazioni utilizzano il rendering lato server ma non posso trasferirmi in questo momento. Che cosa succede se i dati vengono elaborati sul back-end e quindi inviare i dati specifici per visualizzazione che sarebbe idealmente un singolo oggetto JSON
qualcosa del tipo:
{
"user": {name, roles},
"costcentres": [...],
"managers": [...],
"resources": [...]
}
Nel caso precedente, il cliente sarebbe davvero stupido e avrebbe solo bisogno di andare oltre i campi e mostrarlo. Tutto il lavoro pesante è fatto dal server e dal database.
Ma nel secondo caso temo di violare il resto principale e invece di avere URI per ciascuna risorsa avrei ad esempio l'URI per ogni vista:
/api/v1/request-form/
invece di
/api/v1/costcentres/
/api/v1/managers/
/api/v1/resources/
Quale dei due metodi sopra menzionati si adatta bene quando c'è un'enorme quantità di dati?