#model-view-controller #web-applications #rest #jersey
#model-view-controller #веб-приложения #rest #джерси
Вопрос:
Я предполагаю, что это скорее вопрос дизайна, но в настоящее время у меня есть веб-приложение REST (Джерси), которое предоставляет API, который позволяет пользователям искать информацию по определенным URL-адресам.
Пользователям необходимо зарегистрироваться / войти в систему, чтобы получить сгенерированный API ключ, который они затем будут использовать при доступе к нашему API и т. Д. По сути, здесь будет содержаться все, что связано с предоставлением API или доступом к нему через GETS, POSTS и т. Д.
Таким образом, вышеприведенное служит одним веб-приложением.
Однако мне нужно разработать компонент администратора для этого сайта, по сути, предоставляя администраторам возможность добавлять новых пользователей, ограничивать количество запросов, которые пользователи могут отправлять в наш API, ограничивать пользователей, если они превышают выделенные запросы и т. Д. Теперь я думаю об этом компоненте, должен ли я просто разработать отдельное веб-приложение Admin со стандартной платформой MVC (например, Spring MVC) и рассматривать это отдельно от веб-приложения REST API?
На мой взгляд, кажется немного неестественным использовать REST для административных аспектов веб-сайта, поскольку REST, на мой взгляд, предназначен исключительно для предоставления API как сервиса клиентам. Или правильно объединить этот административный аспект в существующее веб-приложение REST?
Я намерен сделать следующее:
-
Веб-приложение REST API подключается к постоянному хранилищу nosql. Клиенты могут войти в систему, чтобы просмотреть там информацию о пользователе, например, панель мониторинга, и историю запросов для служб API, которые они использовали и т. Д
-
Отдельное веб-приложение для администрирования с использованием MVC для обработки всех аспектов администрирования.
Имейте в виду, что вы оба совместно используете хранилище Mysql для доступа к учетной информации пользователя, отдельно от второго хранилища, в котором фактически будет храниться информация о наборе данных для URL-адресов.
Пожалуйста, сообщите.
Ответ №1:
Почему бы не использовать Admin в качестве клиентского API? Вы можете легко написать сценарий командной строки, и вы быстро запустите сервер администрирования.
Любой графический интерфейс, который вы хотите, может быть добавлен позже с помощью Admin API, чтобы не выбрасывать код.
Это мой предпочтительный маршрут администратора.