
Sergey
09.10.2017
20:32:00
причём тут гипертекст...
элементы гипермедиа, та штука которая является краиугольным камнем такой характеристики архитектурног остиля rest как unified interface
формы, ссылки...
то что позволяет масшабировать web до бесконечности
для мобилки тебе такое не надо

Google

Sergey
09.10.2017
20:32:42
ты там все урлы хардкодишь. А если не урлы - то детали схемы.

illiatshurotshka❄️
09.10.2017
20:33:23
в википедии не нашел ничего на этот счет

Sergey
09.10.2017
20:34:42
ну филдинга почитай/посмотри. В википедии к слову есть отсылка на изначальную идею за этой диссертацией Филдинга с которой все носятся - его попросили обосновать архитектуру вэба времен http 1.1
https://twitter.com/fielding/status/324448353180061696?lang=en
особенно забавляют люди которые говорят про некую мифическую "спеку rest"
люди даже по http спеки не читают
а rest он как бы.... representational state transfer, то есть о переходах стэйта
и переход стэйта этот происходит за счет элементов гипермедиа
Рой Филдинг - автор диссертации о "Архитектурные стили бла бла", тот человек который ввел термин REST
объективнее некуда
вот когда ты мне объяснишь почему REST называется REST
тогда поговорим)

Google

illiatshurotshka❄️
09.10.2017
20:39:00
ну смотри
в оригинальном вопросе используется термин REST API
не RESTful programming в целом

Sergey
09.10.2017
20:40:35
и далее по пунктам дал ответ
а про "rest api не бывает" - это уже с тобой разговор
так что не передергивай

illiatshurotshka❄️
09.10.2017
20:42:11
не бывает rest api только если быть petty

Sergey
09.10.2017
20:42:40
ясно понятно

Sergei
09.10.2017
20:42:49
Признаться, я всё ещё не в полной мере улавливаю, почему не может быть state transfer в приложении к API.

Sergey
09.10.2017
20:43:05

Sergei
09.10.2017
20:45:14
Вообще говоря нет.

Sergey
09.10.2017
20:45:46
давай по другому. вот у тебя есть микросервисы, так? какие характеристики от сетевой архитектуры ты хочешь получить?
конкретно - зачем тебе unified interface и в чем он у тебя будет выражаться?
или тебе хватит rpc поверх http?

Sergei
09.10.2017
20:49:19

Sergey
09.10.2017
20:49:42
тебе надо организовать общение микросервисов

Google

Sergey
09.10.2017
20:50:23
это просто обмен сообщениями. Кто-то делает шину сообщений на кроликах например
кто-то юзает http
кто-то grpc
это все детали
они не важны, важен сам факт общения
и как бы... если возвращаться к вопросам SOLID - там так же важны не сами объекты а их взаимодействие
конкретно на выбранный протокол, формат общения и т.д. это все не влияет, влияет то что у тебя все еще должны быть четко определены границы между сервисами
information hiding и все такое

Sergei
09.10.2017
20:52:46
Именно так

Sergey
09.10.2017
20:53:31
то есть как именно ты организуешь общение, будешь ты это рэстом называть или нет - совершенно не важно. Ну будут у тебя сообщения именоваться ресурсами. разницы принципиально это не делает
в случае сложных действий у тебя всеравно будут штуки вроде POST/PUT /users/{id}/approve
или что бы меньше походило на rpc
POST /users/{id}/userApprovedEvent
или команда
поскольку на микросервисы так же распространяются SRP и т.д. у тебя там не будет больших апишек

Sergei
09.10.2017
20:56:13

Sergey
09.10.2017
20:56:17
(хотя они могут быть сложными или с большим количеством параметров, например хитрый поиск)

Sergei
09.10.2017
20:57:15
Да, пока подход вроде как полностью ясен. Собственно это "вокруг меня" и происходит сейчас.
Вероятно мне стоит прочесть Роя Филдинга - есть шансы, что мы понимаем разные вещи под REST.

Sergey
09.10.2017
20:59:10
то что лично для меня долгое время оставалось "загадкой" - это то как при всем при этом клиенты с нашим приложением работают. Ну мол всякие api gateway и т.д.

Google

Sergey
09.10.2017
20:59:23
единственное что я понял изучая этот вопрос - тебе надо не просто оперировать буквами а размышлять о необходимых характеристиках системы и на основе этого выбирать архитектурные стили и т.д.
точнее если упростить - "требуемые характеристики получаются вводя ограничения"
это единственное полезное что я усвоил потратил пол года на изучение всей этой фигни про rest
(то есть изучение первоисточников, обсуждения, обдумывания)
но диссертацию почитать стоит, там есть полезные штуки
да и она не большая

Sergei
09.10.2017
21:03:10
В целом я раз за разом встречаю ситуацию, когда на двух человек - три разных мнения "что такое REST".
(все три, конечно, верные)

Sergey
09.10.2017
21:06:35
вот еще прикольные аабривиатурки на которых можно такой эффект словить

Sergei
09.10.2017
21:16:07
:)

andretshurotshka?❄️кде
10.10.2017
02:54:22
лол

Jan
10.10.2017
08:12:44
Вопрос по архитектуре.
Вот есть, например, сущность Resume (резюме) и доменное событие ResumeCreated.
Можно ли считать адекватным решение записывать данные в БД по возникновению этого события?
Будем считать, что полноценного ORM типа Doctrine нету.

Sergey
10.10.2017
09:13:58

Jan
10.10.2017
09:14:22
Для чего?

Sergey
10.10.2017
09:15:07
что бы можно было восстановить состояние

Егор
10.10.2017
20:25:53
Как называются объекты-хранилища без логики, которым не доверяют? DTO? Хочу пропускать их через валидатор, а сущности держать всегда валидными. В сети пишут, что DTO изначально были придуманы, чтобы уменьшить количество запросов (HTTP?) между системами, не совсем то.

Google

Aleh
10.10.2017
20:50:09
Dto подходит

Adel
10.10.2017
20:50:20
DTO - это такие классы хранилища, которые делаются для перемещения данных между слоями. В твоем случае видимо между HTTP слоем и доменом... А вообще - так ли важно как называются такие классы? :)

Aleh
10.10.2017
20:51:01

Adel
10.10.2017
20:51:10
не придирайся

Егор
11.10.2017
06:16:38
Спасибо за ответы. Здесь именование важно, так как имена DTO часто дублируют имена сущностей, нужно как-то отличать.

Dmitriy
11.10.2017
06:17:25
UserDTO?
или не айс?