human
Services Web RESTful Toutes les explications que je trouve sont très difficiles à comprendre pour un débutant en programmation. Pouvez-vous m'aider s'il vous plaît ? Explique comme si j'avais cinq ans.
gpt
Il existe de nombreuses façons différentes pour que deux systèmes différents communiquent entre eux. Chacune de ces techniques et leurs apparentées ont leur propre acronyme (vous avez peut-être entendu parler de RPC, COM, WCF, WS*, REST, CORBA). Vous posez des questions sur l'un de ces systèmes - REST . Pensez maintenant à une URL telle que celle-ci : URL_1 Lorsque vous cliquez dessus, votre navigateur exécute une requête HTTP GET. Cela signifie que votre navigateur a communiqué avec le serveur Web via HTTP et qu'il a spécifiquement utilisé la méthode HTTP connue sous le nom de « GET ». Il existe d'autres méthodes HTTP. Souvent , lorsque vous remplissez un formulaire en ligne et que vous cliquez sur Soumettre , il s'agit d' une méthode HTTP connue sous le nom de « POST » . Il existe d'autres méthodes HTTP. PUT , DELETE , HEAD ... il y en a d'autres mais ignorez-les pour l'instant. Mais toutes ces méthodes ne sont pas couramment utilisées. Vous traitez principalement avec GET et POST sur une base régulière. Vous pouvez consulter la source des pages Web sur Internet et vous verrez < form action="post" > ou < form action="get " > . C'est ce qui indique au navigateur comment communiquer avec le serveur. Il indique au navigateur « envoyez-moi les informations suivantes en tant que requête POST et je saurai quoi faire ». Je veux voir ça ? Obtenez [ Fiddler2 ] ( URL_0 ) , exécutez - le et parcourez quelques sites Web . Remplissez également quelques formulaires. Vous verrez les différentes requêtes HTTP sortantes et vous pourrez regarder les méthodes et vous pourrez voir ce qui est envoyé dans les deux sens. Quelqu'un a eu la brillante idée d'utiliser les méthodes HTTP existantes pour faire communiquer les systèmes entre eux. Il a pensé que HTTP existe depuis longtemps et que la plupart des systèmes qui connaissent HTTP sauront comment GET , POST , PUT , DELETE . Ainsi, vous pourriez créer un service Web dans lequel la communication se fait via ces méthodes. Et ces méthodes HTTP peuvent signifier quelque chose. Un GET peut être utilisé pour 'obtenir les informations de l'utilisateur 12' et POST peut être 'créer un nouvel utilisateur' et PUT peut être 'modifier les informations de l'utilisateur 12' et DELETE peut être 'supprimer l'utilisateur 12'. Vous mappez grossièrement les méthodes HTTP aux opérations CRUD . Je suppose que vous devez avoir étudié CRUD en termes de bases de données à un moment donné. Bien sûr, tout cela ne fait que vous donner une ligne directrice approximative. La façon dont vous implémentez le service dépend toujours de vous. Et vous devez fournir une bonne documentation pour cela. Il existe de nombreux services RESTful, destinés à la consommation publique, qui peuvent être considérés comme RESTful dans une certaine mesure. Je vous ai dit que vous pouviez faire correspondre les méthodes HTTP aux opérations CRUD, mais tout le monde ne le fait pas. Certains services ne font tout simplement pas PUT ou DELETE . Ils s'en tiennent à POST et GET . Certains ne font que GET . Les puristes RESTful auront des mots à dire à ce sujet. Un exemple de service RESTful est mon API préférée dans le monde - [Flickr] (URL_3). La plupart d'entre eux sont basés sur GET, il y a quelques méthodes POST et PUT ici. L'URL peut ressembler à URL_2 et renverra du XML . Le format de ce XML ne vous sera pas connu simplement en regardant cette URL. Vous aurez besoin d'aller à la documentation de Flickr que j'ai liée ci-dessus et de regarder ce qu'ils disent qu'il renverra. Je vous suggère de choisir SOME API, n'importe quelle API basée sur REST et de l'expérimenter. Ce que vous découvrirez également, c'est que parce qu'elles sont si simples, d'autres personnes auront des bibliothèques de classes écrites qui s'occuperont de la construction de l'URL et de la requête/réponse pour vous. Évitez-les pour l'instant et comprenez comment passer d'abord les appels vers ces services.