Ho bisogno di un URI nel mio REST API per recuperare l'attuale utente connesso. Di solito uso GET
su una risorsa con ID, ma il client non conosce l'ID dell'utente.Progettazione URI per la corrente utente connesso in applicazioni REST
ho trovato le seguenti soluzioni:
Per nome utente
Questa soluzione utilizza il nome utente anziché l'ID dell'utente.
Esempio:
- Bitbucket REST API:
GET /user/{userSlug}
- Bitbucket REST API:
Con risorsa propria
Questa soluzione ha una risorsa per gli utenti e una risorsa aggiuntiva per clienti registrati.
Esempi:
JIRA REST API:
GET /myself
GitHub REST API:
GET /user
Stack Exchange REST API:
GET /me
Con link simbolico
Questa soluzione ha un collegamento simbolico per l'ID dell'utente.
Esempio:
- Confluence REST API:
GET /user/current
- Confluence REST API:
Con filtro
Questa soluzione utilizza un filtro per il nome utente.
Esempio:
- JIRA REST API:
GET /user?username={username}
- JIRA REST API:
quale è più RESTful? Quali sono i pro e i contro?
@dur Vorrei inviare il nome utente come parametro * percorso * invece di un parametro di query. Come ho menzionato in questa [risposta] (http://stackoverflow.com/a/36421654/1426227), i paramenti di percorso dovrebbero essere usati quando si identifica un'entità * specifica *. Utilizza i parametri di query per filtrare una raccolta di risorse, controllando il paging e l'ordinamento, ad esempio. –