recherche

Maison  >  Questions et réponses  >  le corps du texte

php - Y a-t-il une différence entre une API reposante et une interface ordinaire?

Après avoir regardé l'explication de l'API restful sur Internet, j'ai l'impression que ce n'est pas différent de l'interface que nous écrivons habituellement. Elles transmettent toutes des données via des requêtes HTTP get ou post et renvoient le format json ou xml.

Même si l'API restful dispose de ces méthodes de requête :
PUT : mettre à jour les ressources sur le serveur (le client fournit des données complètes sur les ressources)

DELETE : supprimer des ressources du serveur

HEAD : récupère les informations d'en-tête (et non les ressources) du serveur

Mais tout au plus, ils ne sont qu'un moyen de transmettre des données. Par exemple, DELETE consiste à supprimer des ressources. Si nous voulons supprimer un article, devons-nous transmettre un identifiant d'article au serveur, mais le code logique spécifique est. pas une interface ordinaire. De la même manière d'écrire, ne puis-je pas simplement utiliser get pour transférer directement l'ID de l'article. Pourquoi dois-je utiliser la méthode de transmission DELETE ?

J'ai l'impression que je ne comprends toujours pas assez bien l'API RESTful et je n'arrive toujours pas à comprendre en quoi elle est différente des interfaces ordinaires

迷茫迷茫2757 Il y a quelques jours921

répondre à tous(2)je répondrai

  • ringa_lee

    ringa_lee2017-05-16 13:13:54

    L'API RESTful n'est qu'une spécification de conception ou un ensemble de théories de conception pour l'API.

    En regardant uniquement les deux points URL et Méthode, vous pouvez le comprendre comme ceci : L'URL est utilisée pour identifier de manière unique une ressource Internet, et la Méthode est utilisée pour identifier l'opération que la requête actuelle doit effectuer sur la ressource.

    Bien sûr, vous pouvez GET http://www.xx.com/user?id=123 pour supprimer un utilisateur, mais cela n'est pas conforme à la spécification de l'API RESTful.

    Conforme à la spécification de l'API RESTful doit être DELETE http://www.xx.com/user/123.

    Ici, http://www.xx.com/user/123 est utilisé pour identifier une ressource Internet (un utilisateur sur un certain site), et DELETE est utilisé pour identifier que ma demande consiste à supprimer un utilisateur.

    Par exemple, si je souhaite obtenir les informations détaillées de cet utilisateur, alors ma requête est : GET http://www.xx.com/user/123 C'est toujours la même URL ici, mais si je la demande en utilisant GET. , le serveur doit savoir que je souhaite simplement obtenir des informations sur les ressources, pas les supprimer.

    répondre
    0
  • 世界只因有你

    世界只因有你2017-05-16 13:13:54

    Ma compréhension personnelle de l'API Restful est qu'elle peut indiquer plus clairement aux autres ce que fait cette opération. Bien sûr, vous pouvez utiliser la méthode get pour récupérer les données supprimées, mais ce n'est pas aussi clair que delete.
    Chaque framework a sa propre façon de définir l'API Restful (par exemple, laravel et Yii2 nomment les méthodes de l'API Restful différemment), mais les deux méthodes de définition différentes ont quelque chose en commun, à savoir l'ajout, la suppression et la modification correspondantes des noms de méthodes. tout est prêt. Dans ce cas, lorsque les développeurs effectuent du développement, ils peuvent clairement comprendre à quoi sert cette méthode. Au moins, la dénomination semble beaucoup plus claire.
    Humble avis personnel...

    répondre
    0
  • Annulerrépondre