Архитектура приложения с REST-контроллерами

Всё что касается построения API
Ответить
Nicolai6120
Сообщения: 143
Зарегистрирован: 2014.08.13, 15:08

Архитектура приложения с REST-контроллерами

Сообщение Nicolai6120 »

Есть веб-приложение. Делается с расчетом на появление мобильной версии. Все стандартно: набор взаимосвязанных сущностей реализующих разнообразные бизнесс-процессы.

Возможно ли свое приложение строить на основе RESTfull-контроллеров? То есть RESTfull не в дополнение к основному приложению, а как его ядро. То есть чтобы все что есть в веб-версии работало на основе ТЕХ ЖЕ КОНТРОЛЛЕРОВ И МЕТОДОВ.

Везде где встречал подобный вопрос, всегда был ответ типа: "Делайте как хотите". Но суть вопроса именно в том, что не понимаю принцип. Неужели курлом каждый раз запросы делать внутри своего приложения? Это же какие накладные расходы...

Знаю что именно так и работают приложения основанные на микросервисах, но как быть с тем, что делается каждый раз дополниетльный запрос?
skynin
Сообщения: 400
Зарегистрирован: 2017.12.12, 10:09

Re: Архитектура приложения с REST-контроллерами

Сообщение skynin »

Если совсем универсально, то запрос данных надо вынести в отдельный слой.

И из контроллеров дергать не модели, а этот слой. Это и будет - ядро.

-- RESTfull не в дополнение к основному приложению, а как его ядро
Контроллеры не годятся, потому что у них задача - встретить запрос, провалидировать, запросить данные, и сформировать ответ.
вот "запросить данные" вам и надо вынести в отдельный слой.

Хотя, тоже не обязательно, если у вас просто отдача данных, то собственно модели и являются таким "ядром".

Погуглите
доменный слой
и "Делайте как хотите" :)
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
Nicolai6120
Сообщения: 143
Зарегистрирован: 2014.08.13, 15:08

Re: Архитектура приложения с REST-контроллерами

Сообщение Nicolai6120 »

Путем мозгового штурма втроем было постановлено: контроллеры делаем разные, т.к. в том и смысл, что одни будут возвращать html, а другие json/xml. К тому же, не все части приложения требуется по REST дергать (~80-90%). Ну и внутри веб-приложения нужны обычные ссылки, которые можно дергать GET запросами.
Ответить