Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? / 25 сообщений из 256, страница 1 из 11
23.05.2018, 19:38
    #39648968
SomeQuestions
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
Интересует такой вопрос.
В Aspnet Mvc принято иметь контроллеры. Причем каждый контроллер посвящен отдельному аспекту - работа с пользователями, работа с документами т.д. И принято называть методы с читабельными-осмысленными названиями.
Теперь Rest.
Мы имеем контроллер для работы с сущностями и базовые операции Get для чтения, Post для вставки, Put для изменения.
Но как в Rest укладываются задачи сложнее чем базовые команды Добавить/Удалить ? Что если требуется реализовать логику, к примеру, "найти все документы где создателем являлись пользователи из переданного списка и скопировать их на FTP". Как такую задачу впихнуть в подход Rest ?

И еще вопрос. Я знаю, что на смену WebApi и Mvc приходит Aspnet Core. Но не заменяет их, а идет параллельно. Но какая идеалогия лежит в Core ? Та, что ближе к Mvc подходу (говорящие имена методов) или к WebApi (только базовые операции над сущностью) ?
...
Рейтинг: 0 / 0
23.05.2018, 20:05
    #39648990
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
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 в нем точно так же живут и развиваются
...
Рейтинг: 0 / 0
23.05.2018, 20:12
    #39648994
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
SomeQuestionsMvc подходу (говорящие имена методов) или к WebApi (только базовые операции над сущностью)смешались в кучу кони....
Говорящие имена методов - это от аккуратности программиста зависит, в любой технологии можно нагородить свалку. А WebApi не равно REST, и кто мешает использовать там говорящие методы?
...
Рейтинг: 0 / 0
23.05.2018, 20:32
    #39649003
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
SomeQuestions,
При rest бизнес логика (БЛ) по умолчанию на клиенте.
Контроллеры тоже.
Например, ангуляр.
...
Рейтинг: 0 / 0
23.05.2018, 21:18
    #39649019
SomeQuestions
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
И все же не понимаю. Сам подход Rest гласит, что у контроллера должны быть лишь операции типа HttpPost, HttpGet, HttpPut. И как это согласуется с идеей: "но вообще вы можете в контролере и просто фигачить методы типа FindUsersDocsAndSentToFtp" ?
И в чем тогда смысл следовать Rest подходу, если он не ограничивает использования обычных методов ?

"WebApi и Mvc в нем точно так же живут и развиваются". Если я правильно понял обе технологии сливаются в одну, нет больше разделения. Я не трогал Core до сих пор. Но мне интересно, если обе технологии сливаются в одну, то каким образом ? Ведь подходы разные - в WebApi предполагается, что в контроллере только CRUD операции. А в MVC используются читабельные имена методов.
...
Рейтинг: 0 / 0
23.05.2018, 21:19
    #39649021
SomeQuestions
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
Petro123SomeQuestions,
При rest бизнес логика (БЛ) по умолчанию на клиенте.
Контроллеры тоже.
Например, ангуляр.

Но не всегда это возможно. тот же пример - отметить галочкой список юзеров и потом заставить бэкэнд сделать с ними работу. Что то перекинуть с сервера на сервер. Как это накладывается на Rest подход ?
...
Рейтинг: 0 / 0
23.05.2018, 21:57
    #39649033
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
SomeQuestionsPetro123SomeQuestions,
При rest бизнес логика (БЛ) по умолчанию на клиенте.
Контроллеры тоже.
Например, ангуляр.

Но не всегда это возможно. тот же пример - отметить галочкой список юзеров и потом заставить бэкэнд сделать с ними работу. Что то перекинуть с сервера на сервер. Как это накладывается на Rest подход ?
Приложение js с одной точкой входа видел?
Почти вся работа на клиенте.
Но чистого рест не бывает. Так что есть исключения.
...
Рейтинг: 0 / 0
23.05.2018, 22:18
    #39649039
SomeQuestions
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
Petro123,

Ну. Если исключениями называть любые методы выходящие за рамки базового CRUD, то, полагаю, это подавляющее большинство бизнес приложений...

Так давайте все таки уточним. Как сочетать эти два мира в WebApi, и в современном Aspnet Core ?
В контроллере для CRUD операций должны быть предусмотрены методы работающие на основе Http Verb'ов И в том же контроллере допустимы методы типа HttpGet и HttpPost с читабельными именами для сложной логики. Так ?

Интересует мнение тех, кто как раз и реализует такие сервисы. Т.е. практический опыт создания такой бэкэндовой системы.
...
Рейтинг: 0 / 0
23.05.2018, 23:19
    #39649049
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
SomeQuestions,
Один клик в гугл и:
Создание веб-API с помощью ASP.NET Core и Visual Studio
для Windows

Тут главное маппинг урл. Не вижу проблемы.
...
Рейтинг: 0 / 0
23.05.2018, 23:30
    #39649052
SomeQuestions
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
Petro123,

в том и дело, что в подобных статьях описывается только Rest подход
https://habr.com/company/microsoft/blog/312878/
в том и дело. Только примеры с базовыми Crud операций.

ну а мапинг, что мапинг ? Понятно что можно сконфигурировать, чтобы в одной контроллере были урлы для круд операций через Http verbs и именованные методы для сложной логики.

Мой вопрос - является ли это нормальной практикой ? Вы говорите, что такое может быть в порядке исключения. Но как по мне, то это будет в любом мало мальски сложном проекте. Взять хотя бы SPA. Ну показать список, изменить запись, добавить. Это понятно. Но а со сложными методами как ?
...
Рейтинг: 0 / 0
23.05.2018, 23:34
    #39649057
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
SomeQuestionsНо как в Rest укладываются задачи сложнее чем базовые команды Добавить/Удалить ? Что если требуется реализовать логику, к примеру, "найти все документы где создателем являлись пользователи из переданного списка и скопировать их на FTP". Как такую задачу впихнуть в подход Rest ?

В смысле по-сложнее? Что тут сложного?

GET -- идемпотентная операция получения данных
POST -- создаёт НОВЫЕ данные
PUT -- изменяет СУЩЕСТВУЮЩИЕ данные
DELETE -- удаляет данные

это не обязательно работает только с CRUD. любая сколько угодно сложная операция, приводит к каким-то последствиям. если вы можете адекватно разложить их по этому принципу, значит задача решена.

не можете, забейте тогда на HTTP-методы, работайте с маршрутами (url)
...
Рейтинг: 0 / 0
23.05.2018, 23:36
    #39649058
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
SomeQuestions,
Сделайте 90% в ангуляре и 10 на сервере. И успокойтесь.
Будет rest.
...
Рейтинг: 0 / 0
24.05.2018, 07:36
    #39649117
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
SomeQuestionsнайти все документы где создателем являлись пользователи из переданного списка и скопировать их на FTP
А если убрать в сторону REST, WebApi и Mvc, то как Вы это реализуете в ООП?
В один класс, в один метод запихнёте? Или в несколько?
...
Рейтинг: 0 / 0
24.05.2018, 09:28
    #39649165
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
Petro123SomeQuestions,
Сделайте 90% в ангуляре и 10 на сервере. И успокойтесь.
Будет rest.

Тогда такой вопрос - а зачем вообще городить(применять) REST-подход? Чтобы "типа" сервер был один, а клиентов - много?

Но если 90% сделать на ангуляре, то преимущества подобного подхода нивелируются сложностью клиентской разработки.
...
Рейтинг: 0 / 0
24.05.2018, 09:53
    #39649186
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
Агнец за бортом,
Ангуляр не обязателен. Главное где БЛ (контроллеры).
А у него все как на ладони. Маппишь урл и все дела.
...
REST никто не плодит. Это вариант архитектуры. Причем исторический.

Агнец за бортомЧтобы "типа" сервер был один, а клиентов - много?
Как вариант да. Эра мобильнков и API к ним.
...
Рейтинг: 0 / 0
24.05.2018, 09:55
    #39649188
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
Агнец за бортомсложностью клиентской разработки.с каких пор программировать на одном из ЯП стало сложнее? Везде одинаково))
...
Рейтинг: 0 / 0
24.05.2018, 10:26
    #39649218
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
Petro123Как вариант да.

А еще?
...
Рейтинг: 0 / 0
24.05.2018, 10:33
    #39649226
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
Petro123с каких пор программировать на одном из ЯП стало сложнее?

Причем тут ЯП?

Сложность там - где ветвление логики.

БД проектируем за неделю, REST-сервис - генерится вообще из БД - ура-ура, мы можем теперь использовать spread разных клиентов.

Только вот теперь писать клиента (каждого) мы будем по полгода.

Логика перемещается сначала их хранимок в сервер приложений, теперь из сервера приложений - на толстого клиента.

В чем профит?
...
Рейтинг: 0 / 0
24.05.2018, 10:35
    #39649227
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
Petro123Ангуляр не обязателен. Главное где БЛ (контроллеры).

Во- первых - ты первый упомянул ангуляр, откуда ж я знаю, может быть он у тебя ассоциируется с клиентской разработкой, просто использую твою терминологию.

Во вторых что значит БЛ (контроллеры) ??
...
Рейтинг: 0 / 0
24.05.2018, 10:47
    #39649239
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
Petro123,

ты серьёзно предлагаешь через браузер копировать файлы на FTP?
...
Рейтинг: 0 / 0
24.05.2018, 11:47
    #39649281
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
Агнец за бортомPetro123Как вариант да.

А еще?REST клиент андроид
...
Рейтинг: 0 / 0
24.05.2018, 11:48
    #39649283
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
Агнец за бортомЛогика перемещается сначала их хранимок в сервер приложений, теперь из сервера приложений - на толстого клиента.

В чем профит?
Это маятник движения прогресса. Туда сюда))))
...
Рейтинг: 0 / 0
24.05.2018, 11:50
    #39649285
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
Агнец за бортомВо вторых что значит БЛ (контроллеры) ??бизнес логика это контроллеры. Чаще всего.
Если не брать технические вещи. Роутинг и т.д.
...
Рейтинг: 0 / 0
24.05.2018, 12:00
    #39649296
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
Агнец за бортомТолько вот теперь писать клиента (каждого) мы будем по полгода.ты как вадя тут выступаешь против фреймворков.
Это оффтоп.
Что на шарпе сайт пару недель, что на js + rest сайт пару недель.
...
Рейтинг: 0 / 0
24.05.2018, 13:12
    #39649374
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ?
Petro123Что на шарпе сайт

Вопросов больше не имею.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Rest. А как реализуются методы с логикой сложнее чем Добавить/Удалить ? / 25 сообщений из 256, страница 1 из 11
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]