Qu'est-ce qu'un point d'entrée API REST et en quoi est-il différent d'un point de terminaison?
J'ai recherché diverses définitions en ligne, mais je n'arrive toujours pas à les comprendre (je suis nouveau dans les API en général). D'après ce que je comprends, ils fournissent des moyens de communiquer avec le serveur, mais quels sont-ils exactement et comment les points d'entrée et les points de terminaison sont-ils similaires ou différents?
Parler simplement d'un point d'entrée pourrait être quelque chose comme http://api.your-company.com
dans lequel un client entrera sans aucune connaissance a priori. L'API apprendra au client tout ce qu'il doit savoir pour faire des choix éclairés sur ce qu'il pourrait faire ensuite.
Concernant les points de terminaison Wikipedia c'est-à-dire énoncer ce qui suit:
Endpoint, le point d'entrée vers un service, un processus ou une file d'attente ou une destination de rubrique dans une architecture orientée services
Dans un sens large, le point de terminaison est simplement l'hôte cible appelé qui devrait traiter votre demande (ou déléguer à d'autres machines en cas d'équilibrage de charge et ce qui ne l'est pas). Dans un sens plus étroit, un point de terminaison est simplement la substance invoquée côté serveur qui traite votre demande, c'est-à-dire un URI comme http://api.your-company.com/users/12345
demandera une représentation des utilisateurs (en supposant une requête GET). L'utilisateur concret est la ressource traitée tandis que le point final peut être en fait un service basé sur Spring (ou le framework de votre choix) traitant toutes les requêtes ciblant tout http://api.your-company.com/users/*
en relation.
D'accord avec Roman Vottner ici et a levé le pouce. Je veux seulement ajouter quelques liens supplémentaires ici pour quiconque essaie de se faire une idée claire.
Point de terminaison API
J'aime la réponse ici: https://smartbear.com/learn/performance-monitoring/api-endpoints/
"En termes simples, un point de terminaison est une extrémité d'un canal de communication. Lorsqu'une API interagit avec un autre système, les points de contact de cette communication sont considérés comme des points de terminaison. Pour les API, un point de terminaison peut inclure l'URL d'un serveur ou d'un service. Chaque point de terminaison est l'emplacement à partir duquel les API peuvent accéder aux ressources dont elles ont besoin pour exécuter leur fonction. "
Et des exemples ici: Qu'est-ce qu'un Endpoint?
https://example.com/api/login
https://example.com/api/accounts
https://example.com/api/cart/items
Point d'entrée API
Regardez ici: https://restful-api-design.readthedocs.io/en/latest/urls.html
"Une API RESTful doit avoir un et exactement un point d'entrée. L'URL du point d'entrée doit être communiquée aux clients API afin qu'ils puissent trouver l'API. Techniquement parlant, le point d'entrée peut être vu comme un ressource singleton qui existe en dehors de toute collection. "
Donc, suivant l'exemple précédent, ce serait:
https://example.com/api
Remarque supplémentaire : dans le monde GraphQL, il y a un single endpoint
pour l'API, pas de point d'entrée ( https://graphql.org/learn/best-practices/#http ). Habituellement sous la forme
https://example.com/graphql