Les types de contenu ne sont importants que dans le cadre d'une seule requête. Tout ce qu'ils font est de décrire le format du contenu qui est envoyé.
Votre service Web doit fournir la réponse la plus acceptable à la demande du client qu'il est capable de fournir. La requête du client doit inclure un en-tête Accept qui décrit les types de contenu acceptables. Si votre service ne peut fournir aucun des types de contenu dans cet en-tête, puis retourner 406 Not Acceptable
Dans votre situation, si vos demandes client GET
comprennent application/xml
dans l'en-tête Accept alors il est bien de répondre avec application/xml
, indépendamment de toute PUT
demande faite sur les ressources demandées.
EDIT:
Le status code definition pour 406 Not Acceptable
comprend une note qui suit:
Note: HTTP/1.1 serveurs sont autorisés à retourner des réponses qui ne sont pas acceptables selon les têtes d'acceptation envoyés la demande . Dans certains cas, cela peut même être préférable à l'envoi d'une réponse 406. Les agents utilisateurs sont encouragés à inspecter les en-têtes de une réponse entrante pour déterminer si elle est acceptable.
Vous pouvez donc retourner application/xml
quand vous le souhaitez.
article intéressant, mais il ne répond pas à ma question .. Exemple: Je METS un nouvel article sur/articles/Firstpost, je reçois la possibilité d'utiliser un type de contenu soit application/xml ou application /Données de formulaire. Je choisis le plus tard. Ensuite, je fais un GET sur l'article, et je reçois la représentation de l'application/xml .. Est-ce correct? – Evert
Désolé encore assez nouveau pour REST moi-même mais si je comprends bien cela dépend vraiment de la façon dont le XML sera consommé par le client. L'entité de message doit être dans un format de données qui est le plus approprié pour le client et ne nécessite pas d'analyse spécifique pour le problème, car cela couplerait le client et le service ensemble. Voici un post qui en discute un peu plus; http://www.peej.co.uk/articles/rest-data-formats.html. Quelles étaient vos raisons de penser que l'application/xml pourrait ne pas suivre les principes REST? –