Ho un'API REST in fase di sviluppo in cui alcune risorse sono correlate all'utente e gli utenti devono autenticarsi per accedere a tali risorse. Si è tentati di prendere una scorciatoia e sostituire un identificatore di:
/profile/[user_id]/
con
/profile/
considerando che user_id è noto sulla base dei dati di autenticazione. In tal caso il / profilo / identificatore indica una risorsa diversa per ciascun utente. Questo non sembra molto rappresentativo, a meno che non si consideri che l'intestazione di autenticazione sia parte dell'identificatore.
Un esempio più complesso quando diciamo che esiste una risorsa 'elemento' disponibile per tutti gli utenti e ogni utente può impostare la propria proprietà 'etichetta' su un oggetto. Ancora una volta è allettante avere solo
/item/[item_id]/label/
invece di
/item/[item_id]/label/[user_id]
Ho trovato un esempio in cui lo striping della parte user_id ha portato a potenziali problemi (un caso in cui è stato introdotto un utente amministratore, che dovrebbe essere in grado di accedere a tutte le risorse degli utenti, ma anche filtrarlo dall'utente - Una applicazione Web come client API REST: come gestire gli identificatori di risorse ) ma non sembrava un problema molto grande. Ci sono buone ragioni per cui i dati di autenticazione non dovrebbero essere considerati parte dell'identificatore di risorse?