Ho una risorsa come segue dove state
è un enum:
{
id: 123,
industry: {
id: 245,
name: "Farming"
},
"scheduleDate": "2018-01-01",
"state": "Requested|Approved|Standardized|Canceled|Done"
}
Le uniche proprietà che possono cambiare sono scheduledDate
e state
e non sono sicuro di quale sia il modo corretto di farlo nella mia situazione.
Sarebbe opportuno utilizzare il metodo PATCH
per consentire l'aggiornamento solo di quei campi e lo farei, tuttavia voglio che determinati gruppi siano autorizzati a fare queste azioni, potrebbe essere che quella persona sia autorizzata solo a cambiare le statistiche in Standardized
e non sono sicuro che PATCH
funzioni nel mio caso.
Quali potrebbero essere i modi alternativi per farlo? Ho pensato di andare in questo modo:
-
/api/v1/resource/123/reschedule
-
/api/v1/resource/123/approve
-
/api/v1/resource/123/standardize
-
/api/v1/resource/123/cancel
Questo non sembra male ma non è 100% REST.
Sto utilizzando ASP.NET Core insieme a Identity Server per implementarlo.
Quindi la vera domanda è. Se dovessi usare PUT
, sarebbe possibile limitare determinati utenti dall'aggiornamento di questo campo? Non sono riuscito a trovare se fosse possibile.