Ho riscontrato API che dicono "riposante", ma poi vedo le risorse con i verbi invece di riservare quei verbi al METHOD
.
Eccone alcuni (i percorsi sono abbreviati in modo da mostrare solo il metodo e le parti del percorso pertinenti):
-
POST /things/84/lock
-
POST /things/84/unlock
-
POST /things/84/edit
-
POST /things/prepend
(aggiunta all'inizio della raccolta ordinata)
Perché non ha senso fare invece:
-
LOCK /things/84
-
UNLOCK /things/84
-
PATCH /things/84
oEDIT /things/84
(preferisco il primo) -
PREFIX /things
oPREPEND /things
Mi è stato detto più e più volte che questo non è riposante perché deve usare solo GET, POST, PUT, DELETE e PATCH per rimanere riposati.
Quale spiegazione logica esiste per avere i verbi nella sezione path dell'URL per l'API restful?
Note:
- Non posso mostrarti esempi di vita reale, quindi non punterò le dita a nessuno.
- Per quanto riguarda le limitazioni del proxy scusate che ho riscontrato. Era valido finché non esisteva alcuna soluzione alternativa. Oggigiorno, la maggior parte dei framework moderni ha meccanismi per consentire l'override del metodo utilizzando variabili di query o intestazioni (anche con standard de-facto).