Disons que je veux avoir une ressource RESTful pour les personnes, où le client peut attribuer un ID.
Une personne ressemble à ceci: {"id": <UUID>, "name": "Jimmy"}
Maintenant, comment le client doit-il le sauvegarder (ou le «PUT»)?
PUT /person/UUID {"id": <UUID>, "name": "Jimmy"}- maintenant nous avons cette mauvaise duplication que nous devons vérifier tout le temps: l'ID dans le corps correspond-il à celui dans le chemin?- Représentation asymétrique:
PUT /person/UUID {"name": "Jimmy"}GET /person/UUIDRetour{"id": <UUID>, "name": "Jimmy"}
- Aucun ID dans le corps - ID uniquement dans l'emplacement:
PUT /person/UUID {"name": "Jimmy"}GET /person/UUIDRetour{"name": "Jimmy"}
- Aucune sorte de ne
POSTsemble être une bonne idée puisque l'ID est généré par le client.
Quels sont les schémas courants et les moyens de le résoudre? Les identifiants uniquement localisés semblent être le moyen le plus dogmatiquement correct, mais cela rend également la mise en œuvre pratique plus difficile.