
Nikolay
25.12.2017
20:39:03

Nick
25.12.2017
20:39:24

Nikolay
25.12.2017
20:39:25

Google

Nikolay
25.12.2017
20:39:56
а, ты про "всех клиентов"

Nick
25.12.2017
20:39:59

Nikolay
25.12.2017
20:40:27
окей, /orders/ , да, можно даже /orders/?groupby=client_id
но это, опять же, от задачи зависит

Nick
25.12.2017
20:41:05
ок, добавляем еще штук 10 сущностей, которые пересекаются на каждый пишем по endpoint?

Nikolay
25.12.2017
20:41:37
и не бывает "пересекаются", бывает "включают"

Nick
25.12.2017
20:42:02
ну и вернемся к вопросу про денормализацию, допустим у нас нет возможности это сделать

Nikolay
25.12.2017
20:42:20
но окей
миграции никто не отменял

Nick
25.12.2017
20:42:49
нельзя трогать базу, миграция будет идти год

Nikolay
25.12.2017
20:43:11

Google

Nikolay
25.12.2017
20:43:16
или ты опять на ходу условия меняешь?
мы тз только что составили

Nick
25.12.2017
20:43:36
сьезжаешь с темы) я пытаюсь сделать, чтобы ты допер
ну так ладно, какие варианты помимо денормолизации то

Nikolay
25.12.2017
20:43:54
да и не только здесь

Александр
25.12.2017
20:44:00
))

Nick
25.12.2017
20:44:03
забудь пока про него

Nikolay
25.12.2017
20:44:45

Nick
25.12.2017
20:45:06

Aleserche
25.12.2017
20:45:13
Сделать промежуточные хранилища-буферы и из них все склеить

Nikolay
25.12.2017
20:45:16
в той же монге, допустим, при всей моей нелюбви к ней, это все без проблем решается

Nick
25.12.2017
20:45:27

Александр
25.12.2017
20:45:33
к получению данных через rest

Nikolay
25.12.2017
20:45:37
ты давай из задачи исходи, а не придумывай на ходу

Nick
25.12.2017
20:45:40
request хочу понять какой будет

Nikolay
25.12.2017
20:45:41
какую задачу мы решаем сейчас?

Google

Nick
25.12.2017
20:46:20

Александр
25.12.2017
20:46:47
если взять из реальной жизни - интернет-магазин с сайтами-партнерами

Nick
25.12.2017
20:46:53

Александр
25.12.2017
20:47:12
ок)

Nikolay
25.12.2017
20:47:21
вот
что вот? это либо джойн, либо денормализованная модель

Nick
25.12.2017
20:47:38

Nikolay
25.12.2017
20:47:55

Александр
25.12.2017
20:48:04

Nikolay
25.12.2017
20:48:08
какие сущности?

Aleserche
25.12.2017
20:48:09

Nikolay
25.12.2017
20:48:39

Nick
25.12.2017
20:48:53

Nikolay
25.12.2017
20:48:55
хотя даже лучше не "эндпойнт", а вообще "что должен видеть на экране клиент"

Nick
25.12.2017
20:49:25
список заказов с доп данными из производителя

Nikolay
25.12.2017
20:49:45

Nick
25.12.2017
20:49:56

Demuz
25.12.2017
20:50:05

Nikolay
25.12.2017
20:50:15
и в чем проблема? опять куча вариантов, например, делаешь хэндлер потипу /clients/123/order_manufacturer_full, где возвращаешь более подробную сущность. Либо разрешаешь делать /clients/123/orders/?manufacturer_fields=address

Google

Nikolay
25.12.2017
20:50:22

Nick
25.12.2017
20:50:43

Nikolay
25.12.2017
20:50:54

Nick
25.12.2017
20:51:24
а теперь смотри, в графкуэль ты сделаешь тип Order, Client, Manufacturer

Nikolay
25.12.2017
20:51:24
что нам нужно на фронте показывать - для того и подбираем эндпойнт

Demuz
25.12.2017
20:51:25

Aleserche
25.12.2017
20:51:34

Nick
25.12.2017
20:51:44

Dzmitry
25.12.2017
20:52:01
немного не в вашу тему, может подскажете json серилайзер который серилизует только описанные свойства а не все подряд, как это делает стандартный

Nikolay
25.12.2017
20:52:03

Admin
ERROR: S client not available

Nick
25.12.2017
20:52:29

Nikolay
25.12.2017
20:52:29
с клиентом я согласую только логику отдачи ему того, что ему конкретно нужно

Aleserche
25.12.2017
20:53:13
Собрать под каждую сущность эндпоинт, который даст, что попросим. Далее просто в нужном порядке дергаем и получаем результат

Demuz
25.12.2017
20:53:20

Nikolay
25.12.2017
20:53:20
непонятно, зачем тут графкл какой-то еще

Nick
25.12.2017
20:53:49
с клиентом я согласую только логику отдачи ему того, что ему конкретно нужно
у тебя есть спека Client{id,name,orders}, Order{Id,name,manufacturer}, Manufacturer{id,name,atata}. Хочешь запросить по клиенту, пишешь query{client(id){order{manufacturer{name}}}}
все

Google

Nikolay
25.12.2017
20:54:27
у тебя есть спека Client{id,name,orders}, Order{Id,name,manufacturer}, Manufacturer{id,name,atata}. Хочешь запросить по клиенту, пишешь query{client(id){order{manufacturer{name}}}}
у меня нет спеки никакой. У меня есть описание бизнес-логики того, что нужно показывать на клиенте, а дальше я на сервере решаю задачу, какими эндпойнтами ему это удобно отдать
и не надо никакого навязанного сбоку стандарта

Nick
25.12.2017
20:54:48

Demuz
25.12.2017
20:54:48

Nikolay
25.12.2017
20:55:03

Nick
25.12.2017
20:55:12

Nikolay
25.12.2017
20:55:16
ненужный набор лишних сущностей

Nick
25.12.2017
20:55:52

Nikolay
25.12.2017
20:56:11
где там graphql - непонятно

Nick
25.12.2017
20:56:25

Nikolay
25.12.2017
20:56:25
видимо, нигде
если что

Demuz
25.12.2017
20:56:43
Да ппц, уже три часа графкьюэл обсуждаете)

Nick
25.12.2017
20:56:48
эт транспортный протокол

Nikolay
25.12.2017
20:56:49
иногда http+json или http+xml

Nick
25.12.2017
20:57:07
@sas1024 я сдаюсь, попробуй обьяснить ты

Nikolay
25.12.2017
20:57:12

Александр
25.12.2017
20:57:14
не)

Aleserche
25.12.2017
20:57:23

Nikolay
25.12.2017
20:57:43