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

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

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

Сообщение Nicolai6120 » 2018.04.06, 21:10

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

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

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

Знаю что именно так и работают приложения основанные на микросервисах, но как быть с тем, что делается каждый раз дополниетльный запрос?

skynin
Сообщения: 207
Зарегистрирован: 2017.12.12, 10:09

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

Сообщение skynin » 2018.04.06, 21:40

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

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

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

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

Погуглите
доменный слой
и "Делайте как хотите" :)
Неврубающийся не может опознать врубающегося.

Nicolai6120
Сообщения: 143
Зарегистрирован: 2014.08.13, 15:08

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

Сообщение Nicolai6120 » 2018.04.06, 23:43

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

Ответить