
Nick
25.12.2017
20:58:01

Nikolay
25.12.2017
20:58:01

Demuz
25.12.2017
20:58:05

Nikolay
25.12.2017
20:58:13

Google

Александр
25.12.2017
20:58:37
ну просто представь что делаешь API, одному нужно список клиентов с их заказами и названием производителя каждого товара в заказе, а другому нужно список клиентов с их заказами и адресом производителя каждого товара в заказе

Nick
25.12.2017
20:58:41

Александр
25.12.2017
20:58:43
получается 2 разных эндпойнта?

Nikolay
25.12.2017
20:59:28

Nick
25.12.2017
20:59:37

Александр
25.12.2017
20:59:49
и еще один нужен - надо получить список клиентов с их заказами, без детализации по товарам

Demuz
25.12.2017
20:59:55

Nikolay
25.12.2017
20:59:55

Nick
25.12.2017
20:59:56
эти все понятия относительны

Nikolay
25.12.2017
21:00:25

Nick
25.12.2017
21:00:40
то что http находится не на транспортном уровне osi не делает его не транспортом

Александр
25.12.2017
21:00:42
в заказах должны быть товары, да)

Nikolay
25.12.2017
21:01:03

Google

Nick
25.12.2017
21:01:05

Demuz
25.12.2017
21:01:24

Nikolay
25.12.2017
21:01:39

Nick
25.12.2017
21:02:07

Nikolay
25.12.2017
21:02:12
и ее таким образом гораздо проще тестировать

Nick
25.12.2017
21:02:26
там есть вся спека, реализуй ее на rest

Nikolay
25.12.2017
21:02:52
клиенты к тебе со спекой не приходят

Nick
25.12.2017
21:03:08

Александр
25.12.2017
21:03:18
clients{ name, orders{number, items{title, manufacturer{name}}}} - запрос списка клиентов с их заказами и товарами в них, с названием производителя у каждого товара
clients{ name, orders{number, items{title, manufacturer{address}}}} - то же, но уже вместо названия производителя его адрес

Nikolay
25.12.2017
21:03:52
так открой пример
ты сейчас будешь пытаться на основе придуманной кем-то спеки и примера на ее основе доказывать нужность конкретного способа ее имплементации? ты не троллишь?

Александр
25.12.2017
21:04:02
clients{ name, orders{number}} - просто список клиентов с их заказами

Nick
25.12.2017
21:04:05
@Enchantner а ты не в питере живешь?

Nikolay
25.12.2017
21:04:12

Александр
25.12.2017
21:04:28
на беке это все одна реализация, без кучи эндпойнтов

Google

Nick
25.12.2017
21:04:29
Жаль, приезжай на какой-нибудь митап, обьясню на листочке

Nikolay
25.12.2017
21:04:47

Александр
25.12.2017
21:04:55
нет там кучи логики

Nick
25.12.2017
21:05:11
я бы сказал ,что там вообще логики нет

Nikolay
25.12.2017
21:05:12

Nick
25.12.2017
21:05:23

Nikolay
25.12.2017
21:05:27
я удивляюсь, что ты вообще споришь

Nick
25.12.2017
21:05:29
я бы сказал, что не сложнее реста

Nikolay
25.12.2017
21:05:59
и то это поблажка, ибо в общем случае не должно быть завязки на sqlalchemy

Nick
25.12.2017
21:06:20
ты еще и тесты кавереджем измеряешь)))
я не питон программист и не могу знать

Nikolay
25.12.2017
21:06:31
что это невозможно :)

Andrew
25.12.2017
21:06:56

Nikolay
25.12.2017
21:07:07
окей, тогда вопросов нет))
если бы твое изречение сразу звучало, как "В Golang есть либа для GraphQL, которая хорошо оттестирована и маппит сущности удобно на встроенный database/sql и ORM с генерацией тестов по запросам" - я бы даже и не спорил
но это крайне узкий кейс и он ничего абсолютно не говорит о graphql, как о применимой и удобной технологии

Александр
25.12.2017
21:09:01
так у тебя сущности в graphql могут не совпадать с сущностями в бд ?

Google

Nick
25.12.2017
21:09:18
вот кстати продукт, который юзает графкуэль https://demo.databaseflow.com

Nikolay
25.12.2017
21:09:30

Nick
25.12.2017
21:09:50

Nikolay
25.12.2017
21:09:52
тьфу, не та королева

Nick
25.12.2017
21:10:11

Александр
25.12.2017
21:10:47
а вот еще использование graphql https://developer.github.com/v4/
кстати, с REST перешли)

Nikolay
25.12.2017
21:10:57

Demuz
25.12.2017
21:11:11
Не в тему, но во фреймворке iris Добавили возможность листена на unix сокете.

Admin
ERROR: S client not available

Demuz
25.12.2017
21:11:23

Nick
25.12.2017
21:12:03

Nikolay
25.12.2017
21:12:18

Nick
25.12.2017
21:12:25
@Enchantner может ты еще думаешь, что земля плоская?

Nikolay
25.12.2017
21:12:27
люблю эти стикеры

Nick
25.12.2017
21:13:11
кстати еще у курсеры graphql api

Александр
25.12.2017
21:13:12

Nikolay
25.12.2017
21:13:49

Google

Nick
25.12.2017
21:14:09
Мне кажется уже бы обезьяна бы поняла для чего graphql, естественно за банан

Nikolay
25.12.2017
21:14:30
я понимаю, зачем он придуман

Nick
25.12.2017
21:14:42
разве? по-моему нет

Nikolay
25.12.2017
21:14:44
я не понимаю, где он нужен за пределами весьма небольшого количества узких кейсов

Александр
25.12.2017
21:14:56
смотри-ка чего гитхаб пишет
The ability to define precisely the data you want—and only the data you want—is a powerful advantage over the REST API v3 endpoints.

Nikolay
25.12.2017
21:15:02

Nick
25.12.2017
21:15:05
где угодно, наравне с rest

Александр
25.12.2017
21:15:10
GraphQL lets you replace multiple REST requests with a single call to fetch the data you specify.

Demuz
25.12.2017
21:15:28
Да блин, вы надоели спорить, дайте вопросы нормальные позадавать.

Nikolay
25.12.2017
21:15:29

Nick
25.12.2017
21:15:44

Nikolay
25.12.2017
21:15:50
точнее как, не вранье, да, может заменить
но толку в этом нет никакого и это не является преимуществом

Sergey
25.12.2017
21:16:08

Александр
25.12.2017
21:16:10
https://githubengineering.com/the-github-graphql-api/
они вот здесь подробнее описывают

Nikolay
25.12.2017
21:16:32

Sergey
25.12.2017
21:16:45
пилить бек и клиентов могут разные команды, и пока ты будешь с каждым решать кому какой эндпоинт выдать. бизнес закроется