Je suis en train d'écrire un service RESTful pour un système de gestion des clients et je suis en train d'essayer de trouver la meilleure pratique pour la mise à jour des enregistrements partiellement. Par exemple, je veux de l'appelant afin d'être en mesure de lire l'intégralité de l'enregistrement avec une requête GET. Mais pour la mise à jour de ce que certaines des opérations sur le document sont autorisées, comme le changement de statut de enabled (ACTIVÉ) disabled (DÉSACTIVÉ). (J'ai des scénarios plus complexes que cela)
Je ne veux pas l'appelant de présenter la totalité de l'enregistrement avec juste la mise à jour de champ pour des raisons de sécurité (il se sent aussi comme overkill).
Est-il recommandé manière de construire les URIs? Lors de la lecture du RESTE des livres de type RPC appels semblent être mal vu.
Si l'appel suivant retourne la totalité du dossier client pour le client avec l'id 123
GET /customer/123
<customer>
{lots of attributes}
<status>ENABLED</status>
{even more attributes}
</customer>
comment dois-je mettre à jour l'état?
POST /customer/123/status
<status>DISABLED</status>
POST /customer/123/changeStatus
DISABLED
...
Mise à jour: Pour compléter la question. Comment intégrer des " logique commerciale d'appels dans une api REST? Est-il convenu de la manière de procéder? Pas tous les moyens sont CRUD par la nature. Certains sont plus complexes, comme"sendEmailToCustomer(123)', 'mergeCustomers(123, 456)', 'countCustomers()'
POST /customer/123?cmd=sendEmail
POST /cmd/sendEmail?customerId=123
GET /customer/count
Merci Frank