Подтвердить что ты не робот

В чем разница между ресурсом и конечной точкой?

Я слышал, как "ресурс" и "конечная точка" ссылаются на одно и то же. Кажется, что ресурс - это более новый термин.

В чем разница между ними? "Ресурс" подразумевает проект RESTful?

4b9b3361

Ответ 1

REST

Ресурс является подмножеством RESTful конечной точки.

Конечная точка сама по себе является местом, где можно получить доступ к услуге:

https://www.google.com    # Serves HTML
8.8.8.8                   # Serves DNS
/services/service.asmx    # Serves an ASP.NET Web Service

Ресурс относится к одному или нескольким существительным, представленным в пространстве имен, потому что людям легко понять:

/api/users/johnny         # Look up johnny from a users collection.
/v2/books/1234            # Get book with ID 1234 in API v2 schema.

Все вышеперечисленное можно рассматривать как конечные точки службы, но только нижняя группа будет рассматриваться как ресурсы, если говорить REST. Верхняя группа не выразительна в отношении содержания, которое она предоставляет.

Запрос REST похож на предложение, состоящее из существительных (ресурсов) и глаголов (методов HTTP):

  • GET (метод) пользователь с именем johnny (ресурс).
  • DELETE (метод) книга с идентификатором 1234 (ресурс).

Non-REST

Конечная точка обычно относится к услуге, но ресурс может означать много вещей. Вот несколько примеров ресурсов, которые зависят от контекста, в котором они используются.

URL: унифицированный указатель "ресурса"

  • Может быть RESTful, но часто нет. В этом случае конечная точка является почти синонимом.

Управление ресурсами

Словарь

  • определения предоставляют много других вариантов использования слова.

Что-то, что может помочь вам:

Библиотека была ценным ресурсом, и он часто использовал ее.

Ресурсы природные вещества, такие как вода и древесина, которые Ценный в поддержке жизни:

[pl] Земля имеет ограниченные ресурсы, и если мы не будем их перерабатывать мы используем их.

Ресурсы - это также ценные вещи, такие как деньги или имущество, которые вы можете использовать, когда они вам нужны:

[pl] У правительства нет ресурсов, чтобы нанимать ряд учителя нужны.


Мораль

Термин ресурс по определению имеет много нюансов. Все зависит от контекста, в котором он используется.

Ответ 2

Термины ресурс и конечная точка часто используются как синонимы. Но на самом деле они не означают одно и то же.

Термин конечная точка ориентирован на URL, который используется для отправки запроса.
Термин ресурс ориентирован на набор данных, который возвращается запросом.

Теперь к одному и тому же ресурсу часто могут обращаться разные конечные точки.
Также одна и та же конечная точка может возвращать разные ресурсы в зависимости от строки запроса.

Давайте посмотрим несколько примеров:

Различные конечные точки получают доступ к одному и тому же ресурсу

Посмотрите на следующие примеры различных конечных точек:

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

Очевидно, что все они могут получить доступ к одному и тому же ресурсу в данном API.

Также существующий API может быть полностью изменен. Это может привести к появлению новых конечных точек, которые будут получать доступ к тем же старым ресурсам, используя совершенно новые и разные URL-адреса:

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

Одна конечная точка доступа к разным ресурсам

Если ваша конечная точка возвращает коллекцию, вы можете реализовать поиск/фильтрацию/сортировку с использованием строк запроса. В результате все следующие URL-адреса используют одну и ту же конечную точку (/api/companies), но они могут возвращать разные ресурсы (или коллекции ресурсов, которые по определению сами являются ресурсами):

/api/companies
/api/companies?sort=name_asc
/api/companies?location=germany
/api/companies?search=siemens

Ответ 3

Возможно, мой не очень хороший ответ, но здесь идет.

С тех пор как я больше работал с действительно веб-сервисами RESTful через HTTP, я пытался отвлечь людей от использования термина конечная точка, поскольку он не имеет четкого определения, и вместо этого использовал язык REST, который представляет собой ресурсы и расположения ресурсов.

На мой взгляд, конечная точка - это термин TCP. Это связано с HTTP, потому что часть URL идентифицирует прослушивающий сервер.

Так что ресурс - это не новый термин, я не думаю, я думаю, что конечная точка всегда присваивалась не по назначению, и мы понимаем это, когда мы разбираемся с REST как стилем API.

редактировать

Я писал об этом в блоге.

https://medium.com/@lukepuplett/stop-saying-endpoints-92c19e33e819

Ответ 4

Согласно https://apiblueprint.org/documentation/examples/13-named-endpoints.html ресурс является "общим" местом хранения данной сущности - например, /Customers/30654/orders, тогда как конечная точка - это конкретное действие (HTTP-метод) над данным ресурсом. Таким образом, один ресурс может иметь несколько конечных точек.

Ответ 5

Рассмотрим сервер, на котором есть информация о пользователях, миссиях и их бонусных баллах.

  1. Пользователи и бонусные баллы - это ресурсы
  2. Конечная точка может относиться к более чем одному ресурсу
  3. Конечные точки могут быть описаны с использованием либо описания, либо полного или частичный URL

enter image description here

Источник: Конечные точки API против ресурсов

Ответ 6

1. Описание ресурса "Ресурсы" относится к информации, возвращаемой API.

2. Конечные точки и методы Конечные точки указывают, как вы обращаетесь к ресурсу, а метод указывает разрешенные взаимодействия (такие как GET, POST или DELETE) с ресурсом.

Дополнительная информация: 3. Параметры Параметры - это параметры, которые вы можете передать конечной точке (например, указать формат ответа или возвращаемую сумму), чтобы повлиять на ответ.

4. Пример запроса Пример запроса включает в себя пример запроса с использованием конечной точки, показывающий некоторые настроенные параметры.

5. Пример ответа и схема Пример ответа показывает пример ответа из примера запроса; Схема ответа определяет все возможные элементы в ответе.

Source- Ссылка