IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

REST Discussion :

Mise à jour d'une ressource


Sujet :

REST

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 48
    Points : 37
    Points
    37
    Par défaut Mise à jour d'une ressource
    Bonjour,

    je me demande si lors de la mise à jour d'une ressource (avec une méthode PUT), on peut passer uniquement la partie de la ressource qu'on veut modifier.

    Par exemple, je veux changer le statut d'une personne, je suis tenté de faire un PUT sur l'URL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /personnes/{id-personne-modifiee}
    Mais dans une méthode PUT, je crois que le body de la méthode est la ressources modifiée or, je n'ai pas envie de "re-putter" toute la ressource.

    Je peux bien faire seulement un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /personnes/{id-personne-modifiee}?statut=actif|inactif
    et laisser le corps de la méthode PUT vide, mais je ne suis pas sûr que ça respecte vraiment les principes REST.

    Alors si vous savez et pouvez me dire comment spécifier le service REST dans ce genre de situation, ça m'enlèverait pas mal de maux de tête à propos de l'utilisation de REST.

  2. #2
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Salut!

    Si tu ne veux pas faire un PUT de toute la ressource "personne", pourquoi ne pas considérer que le statut est une ressource qui fait partie de "personne"?

    Ton URI de statut serait alors :
    /personnes/{id-personne-modifiee}/statut
    et tu pourrais faire un PUT classique, avec la nouvelle représentation du statut dans le corps de la requête.

    Si cette idée ne te plaît pas, je crois avoir vu qu'il existe une méthode PATCH qui permet de faire des mises à jour partielles (comme la commande patch en ligne de commande). Mais ça ne me semble pas spécialement simple.

    Grégoire

    PS : désolé pour le déterrage, je n'avais pas vu la date du message (2008!).

  3. #3
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 48
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par geceo Voir le message
    (...)
    Ok merci de la réponse (3 ans après lol c génial je trouve), même si je suis plus à fond sur ces considérations (et avec le recul que j'ai maintenant, je comprends à peine ma question et ta première proposition me parait presque évidente )


    PS : ca fait 3 ans pile à 1 jour prés, c'était quoi la probabilité que ca arrive ?

  4. #4
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Points : 1 267
    Points
    1 267
    Par défaut
    Ce PATCH n'a pas beaucoup de succès, et risque d'être bloqué par 95% des firewall d'entreprise.
    Bon, pourquoi pas, peu de navigateurs supportaient PUT et DELETE eil y a peu.

    Pour en revenir au "Dogme" initial, il est mieux de mettre ta nouvelle valeur en json ou xml dans le Body.
    En plus si pour une raison x ou y ton appli évolue, tu n'auras qu'un champs à rajouter (Dogme et hypothétique évolution, c'est de l'argument ).

Discussions similaires

  1. Mise à jour d'une table avec un fichier csv
    Par blackangel dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 26/05/2005, 14h46
  2. Mise à jour d'une bd mysql
    Par joquetino dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 11/01/2005, 14h05
  3. mise à jour d'une table d'interbase sous delphi
    Par kouraichi35 dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/10/2004, 13h09
  4. [FireBird 1.5]Mise à jour d'une SGBD ?
    Par Sitting Bull dans le forum Débuter
    Réponses: 3
    Dernier message: 03/09/2004, 16h45
  5. Pb de mise à jour d'une date
    Par valerie90 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 02/09/2004, 14h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo