Sono abbastanza nuovo per Collection + JSON . Ho un sacco di domande riguardanti la raccolta + JSON e le operazioni degli utenti.
Usa caso
Avere le autorizzazioni utente in una risposta Collection + JSON sarebbe utile per dire al cliente quali operazioni possono essere attivate su un particolare oggetto. Ad esempio, consentirebbe al client di sapere quali "pulsanti" visualizzare sull'interfaccia utente.
Domande
- Le autorizzazioni dell'utente devono essere raggruppate nella risposta Collection + JSON?
- Le autorizzazioni dell'utente devono essere raggruppate in una chiamata separata all'oggetto utente?
- È fuori dalla portata di Collection + JSON?
Pensieri
Il mio pensiero personale è che le autorizzazioni utente dovrebbero essere archiviate in un oggetto utente per una separazione dei compiti, tuttavia, se questo è il caso, allora ogni richiesta dovrebbe essere accoppiata con una richiesta per un oggetto utente. Questo non sembra una metodologia corretta.
Esempi
Negli esempi seguenti, le "autorizzazioni" sono rappresentate da un valore intero dove 1 rappresenta read, 2 rappresenta create, 3 rappresenta update e 4 rappresenta delete. Il server convaliderà sempre la richiesta dell'utente, ma ciò renderebbe più semplice per il client sapere quali operazioni possono essere eseguite sull'oggetto.
1. Incluso nella risposta
"Permessi" potrebbero essere aggiunti alla specifica Collection + JSON, ma questo sarebbe modificare le specifiche.
{
"collection" :
{
"rel" : {string},
"href" : {string},
... links, queries, items, etc...
"permissions" : { integer value }
}
}
2. Incluso nell'oggetto Utente
Le autorizzazioni sono memorizzate nell'oggetto utente e cambiano in base all'URL per fornire al cliente informazioni su ciò che questo utente può fare in questo particolare stato nell'applicazione.
{
"collection" : {
items: [{
... name, username, etc...
"permissions" : { integer value }
}]
}
}
3. Oltre l'ambito
In base alla bozza specifica:
The Collection+JSON hypermedia type is designed to support full read/write capability for simple lists.
Sospetto che fornendo una risposta Collection + JSON, si presuma che tutte le operazioni CRUD siano disponibili per il client e che il server fornirà la risposta appropriata quando viene effettuata una richiesta.