Несколько конечных точек входа в Jetty + Jersey

Я создаю приложение со слоем API. Для доступа к конечной точке API запрос должен содержать действительный token. Токен генерируется и назначается после успешной аутентификации пользователя. Пользователь может быть аутентифицирован несколькими способами: DB username/password check, FB, LDAP и так далее.

В настоящее время у меня есть ServletContextHandler, выполняющий Jersey Servlet Container, обслуживающий конечные точки /api/*.

Цель - добавить конечные точки входа: /login/fb, /login/myapp, login/ldap и я не уверен, где именно он подходит. Должен ли я добавить их в качестве других конечных точек в сервлет jersey или добавить новый настраиваемый сервлет для обработки этих входов в систему. Было интересно, есть ли другой способ обработки таких нескольких конечных точек входа в Jetty.

Я не использую xml для настройки Jetty. Существующие фильтры были настроены с помощью аннотаций, и я хотел бы продолжить таким же образом.

Раньше не использовал Jetty, не уверен в подходящем шаблоне архитектуры, применимом к этому случаю.

вам следует добавить его отдельным сервлетом.

Antho Christen 11.06.2018 14:40

Спасибо! Не могли бы вы объяснить почему?

pickoneusername 11.06.2018 15:27

Он обеспечивает разделение проблем и придерживается принципа единой ответственности.

Antho Christen 11.06.2018 15:31

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

pickoneusername 11.06.2018 15:40
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
4
61
0

Другие вопросы по теме