Я видел, что они много говорят о точках входа и конечных точках, правда в том, что я имею представление о том, к чему это относится, но я до сих пор не знаю правильного определения или для чего они нужны. Заранее большое спасибо.
Я видел, что они много говорят о точках входа и конечных точках, правда в том, что я имею представление о том, к чему это относится, но я до сих пор не знаю правильного определения или для чего они нужны. Заранее большое спасибо.
Точка входа — это URL-адрес, который посетитель вводит в своем браузере для просмотра вашего приложения или сайта. Раньше каждый раздел веб-сайта был точкой входа.
С появлением библиотек, обеспечивающих маршрутизацию (Backbone, Ract, Angular, Vue), обслуживание одностраничных приложений (SPA), в которых посетитель попадает на целевую страницу, а оттуда может посетить остальную часть сайта, стало тривиальной задачей . создается впечатление, что вы просматриваете разные страницы, когда на самом деле это одна и та же целевая страница , которая показывает вам разные разделы в зависимости от запрашиваемого вами URL-адреса. Точка входа будет содержать текущую функциональность маршрутизатора и отображать различный контент в зависимости от запрошенного URL-адреса, «перехватывая» внутренние ссылки.
Посетитель видит, что URL-адрес меняется, и действительно чувствует, что он перемещается между ссылками, но не покидает ту же точку входа.
Существует тонкий баланс между наличием очень малого количества точек входа с зависимостями, которые им не нужны, и большим количеством точек входа с сопутствующим обслуживанием.
Конечные точки — это URL-адреса API или серверной части, которые отвечают на запрос. Одни и те же точки входа должны соответствовать конечной точке, чтобы существовать. Что-то должно реагировать, чтобы сайт имел смысл для посетителя. Для каждой точки входа, ожидающей посещения пользователем, могут быть десятки конечных точек, обслуживающих данные для заполнения каждого графика и инфографики, отображаемых в точке входа.
Разница между точкой входа и конечной точкой заключается в том, что конечные точки не предназначены для взаимодействия с конечным пользователем . Обычно они возвращают только json или не возвращают вообще. И более чем часто точка входа делает несколько вызовов к разным конечным точкам, чтобы показать статистику, галереи, последние комментарии и т. д.
Кроме того, предполагается, что когда мы говорим о конечной точке, мы находимся в среде RESTful , поэтому (в отличие от использования браузера) клиент может использовать одну и ту же конечную точку с разными глаголами . Та же конечная точка, например:
он вернет список пользователей, если вы используете глагол GET, и создаст пользователя, если вы используете глагол POST. Сама конечная точка ничего не говорит о действиях, которые вы можете с ней делать.
Существование конечных точек обычно пропорционально количеству сущностей, которые вы хотите смоделировать в своем бэкэнде или API. Допустим, для каждой сущности должна быть хотя бы одна конечная точка, и для каждой из них можно было бы выполнять действия по созданию, чтению, обновлению и удалению данных. А затем, если учесть, что каждая связь между двумя сущностями порождает другую конечную точку, у вас может быть гораздо больше. Опять же, учитывая модель пользователя, если у каждого пользователя есть N галерей, конечная точка
Он вернет галереи пользователя, которого вы запросили. Опять же в простом json, потому что он не предназначен для непосредственного чтения конечным пользователем.
Действительно, как упоминает @amenadiel, точка входа и конечная точка очень разные.
Если бы мы могли кратко классифицировать их, это было бы:
Примеры использования:
Отношения между ними:
Точка входа, такая как домашняя страница веб-сайта, может получать информацию из разных конечных точек для заполнения разделов страницы определенной информацией. Упрощенно предположим, что:
Кроме того, мы понимаем конечные точки как веб-сервисы, которые будут использоваться не только при доступе к точке входа, но и при нажатии на кнопку, флажок или любое событие взаимодействия с пользователем.
А что, если мы не взаимодействуем с браузером, а запрашиваем API?
В этом случае все ли конечная точка?
Вы получаете запрос , запрашиваете базу данных или внешний API и возвращаете результат . Какова ваша точка входа в этом случае?
Точка входа — это запрос, который поступает через маршрутизатор API, а конечная точка — это внешний API и т. д. какие запросы Этот запрос мог исходить от браузера, терминала, почтальона и т. д.
Тема точки входа/конечной точки больше зависит от контекста, в котором вы перемещаетесь, хотя в целом ответ @ffflabs идеален.