J'ai entendu à la fois «ressource» et «point final» pour désigner la même chose. Il semble que la ressource soit un terme plus récent.
Quelle est la différence entre eux? La "ressource" implique-t-elle une conception RESTful?
Resource est un sous-ensemble RESTful de Endpoint .
Un point de terminaison en lui-même est l'emplacement où un service est accessible:
https://www.google.com # Serves HTML
8.8.8.8 # Serves DNS
/services/service.asmx # Serves an ASP.NET Web Service
Une ressource fait référence à un ou plusieurs noms servis, représentés par un espace de nom, car il est facile à comprendre pour les humains:
/api/users/johnny # Look up johnny from a users collection.
/v2/books/1234 # Get book with ID 1234 in API v2 schema.
Tout ce qui précède pourrait être considéré comme des points de terminaison de service, mais seul le groupe du bas serait considéré comme des ressources, en termes de REST. Le groupe supérieur n'est pas expressif quant au contenu qu'il fournit.
Une requête REST est comme une phrase composée de noms (ressources) et de verbes (méthodes HTTP):
GET
(méthode) l'utilisateur nommé johnny
(ressource).DELETE
(méthode) le livre avec id 1234
(ressource).Endpoint fait généralement référence à un service, mais la ressource peut signifier beaucoup de choses. Voici quelques exemples de ressources qui dépendent du contexte dans lequel elles sont utilisées.
Quelque chose qui peut être utilisé pour vous aider:
La bibliothèque était une ressource précieuse et il en faisait souvent usage.
Les ressources sont des substances naturelles telles que l'eau et le bois qui sont précieuses pour soutenir la vie:
[pl] La terre a des ressources limitées, et si nous ne les recyclons pas, nous les épuisons.
Les ressources sont également des objets de valeur comme de l'argent ou des biens que vous pouvez utiliser lorsque vous en avez besoin:
[pl] Le gouvernement n'a pas les ressources pour embaucher le nombre d'enseignants nécessaires.
Le terme ressource par définition a beaucoup de nuances. Tout dépend du contexte dans lequel il est utilisé.
Les termes ressource et point final sont souvent utilisés comme synonymes. Mais en fait, ils ne signifient pas la même chose.
Le terme point de terminaison se concentre sur l' URL utilisée pour faire une demande.
Le terme ressource se concentre sur l' ensemble de données renvoyé par une demande.
Désormais, la même ressource est souvent accessible par plusieurs points de terminaison différents .
Le même point de terminaison peut également renvoyer des ressources différentes , en fonction d'une chaîne de requête.
Voyons quelques exemples:
Différents points de terminaison accédant à la même ressource
Jetez un œil aux exemples suivants de différents points de terminaison :
Ils pourraient évidemment tous accéder à la même ressource dans une API donnée.
Une API existante pourrait également être complètement modifiée. Cela pourrait conduire à de nouveaux points de terminaison qui accéderaient aux mêmes anciennes ressources en utilisant des URL totalement nouvelles et différentes:
Un point de terminaison accédant à différentes ressources
Si votre point de terminaison renvoie une collection, vous pouvez implémenter la recherche / filtrage / tri à l'aide de chaînes de requête. En conséquence, les URL suivantes utilisent toutes le même point de terminaison (
/api/companies
), mais elles peuvent renvoyer des ressources différentes (ou des collections de ressources , qui par définition sont des ressources en elles-mêmes):la source
Peut-être que la mienne n'est pas une bonne réponse, mais voilà.
Depuis que je travaille davantage avec des services Web véritablement REST sur HTTP, j'ai essayé d'empêcher les gens d'utiliser le terme point de terminaison car il n'a pas de définition claire, et d'utiliser à la place le langage de REST qui est les ressources et les emplacements des ressources.
À mon avis, endpoint est un terme TCP. Il est confondu avec HTTP car une partie de l'URL identifie un serveur d'écoute.
Donc, la ressource n'est pas un terme plus récent, je ne pense pas, je pense que le point de terminaison a toujours été détourné et nous nous en rendons compte alors que nous nous intéressons à REST en tant que style d'API.
Éditer
J'ai blogué à ce sujet.
https://medium.com/@lukepuplett/stop-saying-endpoints-92c19e33e819
la source
Selon https://apiblueprint.org/documentation/examples/13-named-endpoints.html est une ressource un lieu de stockage "général" de l'entité donnée - par exemple / clients / 30654 / orders, alors qu'un endpoint est l'action concrète (Méthode HTTP) sur la ressource donnée. Ainsi, une ressource peut avoir plusieurs points de terminaison.
la source
Prenons un serveur qui contient les informations des utilisateurs, des missions et leurs points de récompense.
Source: points de terminaison API vs ressources
la source
1. Description de la ressource «Ressources» fait référence aux informations renvoyées par une API.
2. Points de terminaison et méthodes Les points de terminaison indiquent comment vous accédez à la ressource, tandis que la méthode indique les interactions autorisées (telles que GET, POST ou DELETE) avec la ressource.
Informations supplémentaires: 3. Paramètres Les paramètres sont des options que vous pouvez transmettre avec le point de terminaison (comme spécifier le format de la réponse ou le montant renvoyé) pour influencer la réponse.
4. Exemple de requête L' exemple de requête comprend un exemple de requête utilisant le point de terminaison, montrant certains paramètres configurés.
5. Exemple de réponse et schéma L'exemple de réponse montre un exemple de réponse de l'exemple de requête; le schéma de réponse définit tous les éléments possibles de la réponse.
Lien source- référence
la source