|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
Интересует такой вопрос. В Aspnet Mvc принято иметь контроллеры. Причем каждый контроллер посвящен отдельному аспекту - работа с пользователями, работа с документами т.д. И принято называть методы с читабельными-осмысленными названиями. Теперь Rest. Мы имеем контроллер для работы с сущностями и базовые операции Get для чтения, Post для вставки, Put для изменения. Но как в Rest укладываются задачи сложнее чем базовые команды Добавить/Удалить ? Что если требуется реализовать логику, к примеру, "найти все документы где создателем являлись пользователи из переданного списка и скопировать их на FTP". Как такую задачу впихнуть в подход Rest ? И еще вопрос. Я знаю, что на смену WebApi и Mvc приходит Aspnet Core. Но не заменяет их, а идет параллельно. Но какая идеалогия лежит в Core ? Та, что ближе к Mvc подходу (говорящие имена методов) или к WebApi (только базовые операции над сущностью) ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2018, 19:38 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
SomeQuestionsМы имеем контроллер для работы с сущностями и базовые операции Get для чтения, Post для вставки, Put для изменения. Но как в Rest укладываются задачи сложнее чем базовые команды Добавить/Удалить ?REST - это концепция, а не жесткий ограничивающий стандарт. Что мешает в тот же контроллер добавить "/api/document/getList"? SomeQuestionsИ еще вопрос. Я знаю, что на смену WebApi и Mvc приходит Aspnet Core. Но не заменяет их, а идет параллельно. Но какая идеалогия лежит в Core ? Та, что ближе к Mvc подходу (говорящие имена методов) или к WebApi (только базовые операции над сущностью) ?Неправильно всё понял. ASP.NET Core приходит не на смену WebApi и Mvc, а на смену ASP.NET. WebApi и Mvc в нем точно так же живут и развиваются ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2018, 20:05 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
SomeQuestionsMvc подходу (говорящие имена методов) или к WebApi (только базовые операции над сущностью)смешались в кучу кони.... Говорящие имена методов - это от аккуратности программиста зависит, в любой технологии можно нагородить свалку. А WebApi не равно REST, и кто мешает использовать там говорящие методы? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2018, 20:12 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
SomeQuestions, При rest бизнес логика (БЛ) по умолчанию на клиенте. Контроллеры тоже. Например, ангуляр. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2018, 20:32 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
И все же не понимаю. Сам подход Rest гласит, что у контроллера должны быть лишь операции типа HttpPost, HttpGet, HttpPut. И как это согласуется с идеей: "но вообще вы можете в контролере и просто фигачить методы типа FindUsersDocsAndSentToFtp" ? И в чем тогда смысл следовать Rest подходу, если он не ограничивает использования обычных методов ? "WebApi и Mvc в нем точно так же живут и развиваются". Если я правильно понял обе технологии сливаются в одну, нет больше разделения. Я не трогал Core до сих пор. Но мне интересно, если обе технологии сливаются в одну, то каким образом ? Ведь подходы разные - в WebApi предполагается, что в контроллере только CRUD операции. А в MVC используются читабельные имена методов. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2018, 21:18 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
Petro123SomeQuestions, При rest бизнес логика (БЛ) по умолчанию на клиенте. Контроллеры тоже. Например, ангуляр. Но не всегда это возможно. тот же пример - отметить галочкой список юзеров и потом заставить бэкэнд сделать с ними работу. Что то перекинуть с сервера на сервер. Как это накладывается на Rest подход ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2018, 21:19 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
SomeQuestionsPetro123SomeQuestions, При rest бизнес логика (БЛ) по умолчанию на клиенте. Контроллеры тоже. Например, ангуляр. Но не всегда это возможно. тот же пример - отметить галочкой список юзеров и потом заставить бэкэнд сделать с ними работу. Что то перекинуть с сервера на сервер. Как это накладывается на Rest подход ? Приложение js с одной точкой входа видел? Почти вся работа на клиенте. Но чистого рест не бывает. Так что есть исключения. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2018, 21:57 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
Petro123, Ну. Если исключениями называть любые методы выходящие за рамки базового CRUD, то, полагаю, это подавляющее большинство бизнес приложений... Так давайте все таки уточним. Как сочетать эти два мира в WebApi, и в современном Aspnet Core ? В контроллере для CRUD операций должны быть предусмотрены методы работающие на основе Http Verb'ов И в том же контроллере допустимы методы типа HttpGet и HttpPost с читабельными именами для сложной логики. Так ? Интересует мнение тех, кто как раз и реализует такие сервисы. Т.е. практический опыт создания такой бэкэндовой системы. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2018, 22:18 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
SomeQuestions, Один клик в гугл и: Создание веб-API с помощью ASP.NET Core и Visual Studio для Windows Тут главное маппинг урл. Не вижу проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2018, 23:19 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
Petro123, в том и дело, что в подобных статьях описывается только Rest подход https://habr.com/company/microsoft/blog/312878/ в том и дело. Только примеры с базовыми Crud операций. ну а мапинг, что мапинг ? Понятно что можно сконфигурировать, чтобы в одной контроллере были урлы для круд операций через Http verbs и именованные методы для сложной логики. Мой вопрос - является ли это нормальной практикой ? Вы говорите, что такое может быть в порядке исключения. Но как по мне, то это будет в любом мало мальски сложном проекте. Взять хотя бы SPA. Ну показать список, изменить запись, добавить. Это понятно. Но а со сложными методами как ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2018, 23:30 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
SomeQuestionsНо как в Rest укладываются задачи сложнее чем базовые команды Добавить/Удалить ? Что если требуется реализовать логику, к примеру, "найти все документы где создателем являлись пользователи из переданного списка и скопировать их на FTP". Как такую задачу впихнуть в подход Rest ? В смысле по-сложнее? Что тут сложного? GET -- идемпотентная операция получения данных POST -- создаёт НОВЫЕ данные PUT -- изменяет СУЩЕСТВУЮЩИЕ данные DELETE -- удаляет данные это не обязательно работает только с CRUD. любая сколько угодно сложная операция, приводит к каким-то последствиям. если вы можете адекватно разложить их по этому принципу, значит задача решена. не можете, забейте тогда на HTTP-методы, работайте с маршрутами (url) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2018, 23:34 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
SomeQuestions, Сделайте 90% в ангуляре и 10 на сервере. И успокойтесь. Будет rest. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2018, 23:36 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
SomeQuestionsнайти все документы где создателем являлись пользователи из переданного списка и скопировать их на FTP А если убрать в сторону REST, WebApi и Mvc, то как Вы это реализуете в ООП? В один класс, в один метод запихнёте? Или в несколько? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2018, 07:36 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
Petro123SomeQuestions, Сделайте 90% в ангуляре и 10 на сервере. И успокойтесь. Будет rest. Тогда такой вопрос - а зачем вообще городить(применять) REST-подход? Чтобы "типа" сервер был один, а клиентов - много? Но если 90% сделать на ангуляре, то преимущества подобного подхода нивелируются сложностью клиентской разработки. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2018, 09:28 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
Агнец за бортом, Ангуляр не обязателен. Главное где БЛ (контроллеры). А у него все как на ладони. Маппишь урл и все дела. ... REST никто не плодит. Это вариант архитектуры. Причем исторический. Агнец за бортомЧтобы "типа" сервер был один, а клиентов - много? Как вариант да. Эра мобильнков и API к ним. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2018, 09:53 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
Агнец за бортомсложностью клиентской разработки.с каких пор программировать на одном из ЯП стало сложнее? Везде одинаково)) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2018, 09:55 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
Petro123Как вариант да. А еще? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2018, 10:26 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
Petro123с каких пор программировать на одном из ЯП стало сложнее? Причем тут ЯП? Сложность там - где ветвление логики. БД проектируем за неделю, REST-сервис - генерится вообще из БД - ура-ура, мы можем теперь использовать spread разных клиентов. Только вот теперь писать клиента (каждого) мы будем по полгода. Логика перемещается сначала их хранимок в сервер приложений, теперь из сервера приложений - на толстого клиента. В чем профит? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2018, 10:33 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
Petro123Ангуляр не обязателен. Главное где БЛ (контроллеры). Во- первых - ты первый упомянул ангуляр, откуда ж я знаю, может быть он у тебя ассоциируется с клиентской разработкой, просто использую твою терминологию. Во вторых что значит БЛ (контроллеры) ?? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2018, 10:35 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
Petro123, ты серьёзно предлагаешь через браузер копировать файлы на FTP? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2018, 10:47 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
Агнец за бортомPetro123Как вариант да. А еще?REST клиент андроид ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2018, 11:47 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
Агнец за бортомЛогика перемещается сначала их хранимок в сервер приложений, теперь из сервера приложений - на толстого клиента. В чем профит? Это маятник движения прогресса. Туда сюда)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2018, 11:48 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
Агнец за бортомВо вторых что значит БЛ (контроллеры) ??бизнес логика это контроллеры. Чаще всего. Если не брать технические вещи. Роутинг и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2018, 11:50 |
|
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
|
|||
---|---|---|---|
#18+
Агнец за бортомТолько вот теперь писать клиента (каждого) мы будем по полгода.ты как вадя тут выступаешь против фреймворков. Это оффтоп. Что на шарпе сайт пару недель, что на js + rest сайт пару недель. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2018, 12:00 |
|
|
start [/forum/topic.php?fid=20&msg=39649019&tid=1399355]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
81ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 182ms |
0 / 0 |