Ho un sacco di servizi web REST che il mio cliente usa. Ad esempio, per creare un user
, ho
POST /users
e per modificarlo
POST /users/{id}
Il problema è che alcuni campi, come marketArea
, possono essere modificati solo dai dipendenti, che avranno un ruolo EMPLOYEE
. Altri campi, come name
e age
, sono modificabili dagli utenti finali, che avranno un ruolo USER
. Poiché ho accesso a endpoint limitati dal ruolo, in questo caso c'è una collisione evidente.
Potrei facilmente aggirare il problema impostando percorsi diversi:
POST /users/{id}/public
(richiede USER)
POST /users/{id}/internal
(richiede IMPLOYEE)
Ma questo non mi sembra giusto. Qual è la migliore pratica in questo caso?