Quelle est la différence entre la ressource et le résultat?

j'ai entendu à la fois" ressource "et" point final " pour faire référence à la même chose. Il semble que la ressource est un nouveau terme.

Quelle est la différence entre eux? La "ressource" implique-t-elle une conception reposante?

68
demandé sur cchamberlain 2015-06-01 21:24:54

4 réponses

je qualifierais la ressource comme un sous-ensemble RESTful de paramètre.

dans REST, la ressource fait généralement référence à un objet ou un ensemble d'objets qui sont exposés à un paramètre de L'API.

/api/users/johnny

un paramètre en lui-même n'est qu'une référence à une uri qui accepte des requêtes web qui peuvent ou non être reposantes.

/services/service.asmx

la référence suivante de W3 metadata docs ne fait pas référence à ressources au sens général, mais donne tout de même un sens à la relation entre les deux termes:

3.3 terminologie

service Endpoint: un service Web qui est adressable à l'aide d'un WS-Addressing point de terminaison de référence. Dans le cadre de cette spécification, il est supposé que le consommateur l'objectif principal est de interagir avec ce service.

les Métadonnées de la Ressource: Un service Web spécialisé adressable utiliser soit une référence WS-Addressing endpoint, soit une URL le but est d'exposer la représentation XML d'un morceau de métadonnées associé à un point de Terminaison de Service.

alors que techniquement un seul service Web peut être à la fois un Service De même qu'une "ressource de métadonnées", aux fins de clarifier les différentes attentes de ces deux types de services Web, cette spécification de discuter de ces deux concepts (ou rôles) des entités distinctes.

autres références -

Qu'est-ce qu'un terminal de service web?

http://en.m.wikipedia.org/wiki/Web_resource http://en.m.wikipedia.org/wiki/Web_service

renvoie aux ressources comme paramètres:

http://developers.lyst.com/2015/02/20/1-to-1-relationships-and-subresources-in-rest-apis/

48
répondu cchamberlain 2017-05-23 12:03:02

les Termes resource et endpoint sont souvent utilisés comme synonymes. Mais en fait, ils ne signifient pas la même chose.

le terme endpoint est centré sur URL qui est utilisé pour faire une requête.

Le terme ressource est centré sur le ensemble de données qui est retourné par une demande.

maintenant, la même ressource est souvent accessible par plusieurs différents paramètres .

Aussi le même point final peut retourner différentes ressources , en fonction d'une chaîne de requête.

voyons quelques exemples:

Différents points de terminaison accéder à la même ressource

regardez la exemples suivants de différents effets :

/api/companies/5/employees/3
/api/v2/companies/5/employees/3
/api/employees/3

ils pouvaient évidemment tous Accéder à la toute même ressource dans une API donnée.

aussi une API existante pourrait être changée complètement. Cela pourrait conduire à de nouveaux paramètres qui accéderaient aux mêmes anciennes ressources en utilisant des URL totalement nouvelles et différentes:

/api/employees/3
/new_api/staff/3

d'Un point de terminaison de l'accès à différentes ressources

si votre terminal renvoie une collection, vous pouvez implémenter la recherche/le filtrage/le tri en utilisant des chaînes de requête. En conséquence, les URL suivantes utilisent toutes le même point final ( /api/companies ), mais ils peuvent retourner ressources différentes (ou collections de ressources , qui par définition sont des ressources en elles-mêmes):

/api/companies
/api/companies?sort=name_asc
/api/companies?location=germany
/api/companies?search=siemens
9
répondu Jpsy 2018-09-17 08:42:17

selon https://apiblueprint.org/documentation/examples/13-named-endpoints.html est une ressource un lieu" général "de stockage de l'entité donnée - par exemple /customers/30654/orders, tandis qu'un endpoint est l'action concrète (méthode HTTP) sur la ressource donnée. Ainsi, une ressource peut avoir plusieurs paramètres.

2
répondu Dafka 2018-04-08 16:53:39

la mienne n'est peut-être pas une bonne réponse, mais voilà.

depuis que je travaille davantage avec des services web vraiment reposants sur HTTP, j'ai essayé d'éloigner les gens de l'utilisation du terme endpoint car il n'a pas de définition claire, et à la place utiliser le langage de repos qui est des ressources et des emplacements de ressources.

pour moi, endpoint est un terme TCP. Il est confondu avec HTTP parce qu'une partie de L'URL identifie un serveur d'écoute.

Donc, ressource n'est pas un terme plus récent, Je ne pense pas, je pense que le point final a toujours été détourné et nous réalisons que comme nous obtenons nos têtes autour repos comme un style de L'API.

1
répondu Luke Puplett 2018-09-04 11:03:47