0
votes

Réponse différente pour la même API mais une méthode différente (obtenir et poster)

Je pense que c'est une question classique et typique, mais je n'ai pas trouvé sa réponse.

À ma connaissance, la méthode post est utilisée pour envoyer des données au serveur avec le paramètre de demande corps de message pour le rendre sécurisé. Et Get La méthode consiste à extraire des données avec des paramètres de l'URL. Mais ce que je n'ai pas compris, c'est comment la même API peut avoir un comportement différent en changeant simplement la méthode.

Voici un exemple. J'utilise SoaPui 5.5.0, c'est le lien de l'API: https://reqres.in/api / utilisateurs / 1

Lorsque j'utilise obtenir une méthode, je reçois ceci: xxx

et en modifiant uniquement la méthode pour poster, je reçois Ceci: xxx

(l'identifiant et la date changent à chaque fois) Comme décrit dans ce lien https://reqres.in/ que cela crée une instance et que nous pouvons ajouter des paramètres. .

Mais, peut-on expliquer comment il est techniquement possible d'avoir un comportement différent avec des méthodes différentes sur la même URL?


1 commentaires

Si vous connaissez le motif MVC, je peux l'expliquer très facile. post https://reqres.in/api/users est un contrôleur; Obtenez https://reqres.in/api/user est un autre contrôleur. Ce sont deux contrôleurs différents, eventHough ils ont partagé la même adresse. Habituellement, obtenir https://reqres.in/api/users est pour l'index (tous les enregistrements) et obtenez https://reqres.in/api/user/ < / code> est de montrer un enregistrement. Les deux sont deux contrôleurs différents.


3 Réponses :


0
votes

dans des API reposantes, les verbes ont une signification très importante.

obtenir : récupérer des données POST : Créez une nouvelle entité avec le corps de la demande mettre : remplacer une entité avec le corps de la demande Patch : Mettez à jour certaines propriétés d'une entité avec le corps de la demande. ALIAS. Mise à jour partielle

Dans votre cas, changez le verbe de Obtenir sur POST a pour effet de créer une nouvelle entité avec ID 1 . C'est pourquoi vous obtenez une réponse avec l'identifiant nouvellement créé et un crééa horodatage.


2 commentaires

Mais dans le lien, j'ai le paramètre 1 (pour l'ID), alors je reçois une réponse avec un autre identifiant. Et ce que je n'ai toujours pas compris, c'est comment la même API peut avoir des méthodes différentes. Ce que je sais, c'est que l'API a une méthode. (Je découvre toujours le monde de l'API reposant) Je ne peux même pas trouver un exemple de développement d'une seule API avec plus d'une méthode


En repos, l'URL est utilisée pour faire référence à une ressource et le verbe HTTP dicte l'opération que vous souhaitez effectuer sur cette ressource. Donc, 1 URL peut représenter plusieurs méthodes de serveur.