Nella mia API RESTful, ho utenti, applicazioni e token. Un'applicazione ha un proprietario, che è un utente. Un token è collegato sia a un'applicazione sia a un utente.
Un utente ha sia rappresentazioni pubbliche che private:
-
GET /user
- Recupera l'utente autenticato corrente -
GET /users/:user
- Recupera l'utente specificato
Un'applicazione ha una rappresentazione pubblica:
-
GET /applications/:id
- Recupera l'applicazione data
Un token è associato sia a un utente che a un'applicazione. Un token è mai pubblico:
-
GET /user/tokens/:id
- Recupera il token utente fornito
Similario, le applicazioni di un utente possono essere viste in questo modo:
-
GET /user/applications
- Recupera la raccolta delle applicazioni degli utenti autenticati correnti.
Quale dovrebbe essere il percorso della risorsa in una situazione come questa, perché se volessi ottenere tutti i token degli utenti correnti per una data applicazione? Alcune cose che ho considerato:
-
GET /user/tokens/application/:appId
- Ho pensato che questo potrebbe essere rappresentato male. Come sarebbe letto? Applicazione dei token degli utenti attuali? È veramente: i token degli utenti attuali per . -
GET /user/applications/:id/tokens
: ritenevo che ciò potesse implicare che, se possedessi un'applicazione, saresti in grado di vedere i token di tutti gli utenti che utilizzano l'applicazione, il che ovviamente non è la funzionalità o la rappresentazione prevista. -
GET /applications/:id/tokens
- Ho ritenuto che ciò fosse problematico in un modo simile a quanto sopra.