|
Субботний GraphQL
|
|||
---|---|---|---|
#18+
Привет всем. Я здесь буду тихонько флудить на тему GraphQL. Линки по теме. https://graphql.org/ https://github.com/graphql-java/graphql-java Вопрос.1 Решил запилить учебную схему Scott https://livesql.oracle.com/apex/livesql/file/content_O5AEB2HE08PYEPTGCFLZU9YCV.html в виде GrapQL API Вот что вышло. Можете комментировать. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Тут вместо реляции получается агрегация. Возможно это ОК? Или нет? Вопрос.2 Как дорого стоит поддержка полноценного enpoint при условии что источних постоянно видоизменяется и дорабатывается. По сути мой вопрос касается сложности реализации query/mutate. Какие способы простого связывания данных существуют "из коробки" ? Базируюсь на предположении что наша система смотрит в классическую реляционную БД. Как в примерах со схемой scott. Хотелось бы просто указать в RuntimeWiring что есть две таблицы и всё. Вопрос.3 StarWars API. Есть ли где-то поднятый рабочий ендпоинт. Раньше был тут https://graphql.org/swapi-graphql/ (по документации) но сейчас не доступен. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2019, 20:56 |
|
Субботний GraphQL
|
|||
---|---|---|---|
#18+
А вот доки тут более конкретные https://www.graphql-java.com/documentation/v12/ ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2019, 00:32 |
|
Субботний GraphQL
|
|||
---|---|---|---|
#18+
mayton, Коллега новую работу ищите? У меня хорошего знакомого в Теслу взяли только благодаря, что он GraphQL знал. На самом деле работ с ним не так уж много. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2019, 02:48 |
|
Субботний GraphQL
|
|||
---|---|---|---|
#18+
https://www.graphql-java.com/tutorials/getting-started-with-spring-boot/#try-out-the-api Вот вроде как туториал, который показывает как работать с плейграунд https://github.com/prisma/graphql-playground ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2019, 02:59 |
|
Субботний GraphQL
|
|||
---|---|---|---|
#18+
Нет с работой все в порядке. И GraphQL не ключевая технология. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2019, 09:38 |
|
Субботний GraphQL
|
|||
---|---|---|---|
#18+
Sergunka https://www.graphql-java.com/tutorials/getting-started-with-spring-boot/#try-out-the-api Вот вроде как туториал, который показывает как работать с плейграунд https://github.com/prisma/graphql-playground Мы архитектурно отказались от Spring-Boot в новом проекте. Пока backend - это Jetty-like application. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2019, 10:33 |
|
Субботний GraphQL
|
|||
---|---|---|---|
#18+
maytonSergunka https://www.graphql-java.com/tutorials/getting-started-with-spring-boot/#try-out-the-api Вот вроде как туториал, который показывает как работать с плейграунд https://github.com/prisma/graphql-playground Мы архитектурно отказались от Spring-Boot в новом проекте. Пока backend - это Jetty-like application. Вам надо в сторону Го двигаться тогда. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2019, 20:33 |
|
Субботний GraphQL
|
|||
---|---|---|---|
#18+
Не можем. Бизнес-аналитика тесно завязана на Java-технологии. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2019, 21:15 |
|
Субботний GraphQL
|
|||
---|---|---|---|
#18+
По интроспекции вопрос. Решил пока на кошках потренироваться. Есть сервис https://metaphysics-production.artsy.net/ Помню что первый запрос схемы выглядит так: Код: java 1. 2. 3. 4. 5. 6. 7. 8.
Среди типов нахожу ExternalPartner Код: java 1. 2. 3. 4.
Далее - поскольку это кастомный тип. Хочу посмотреть какие у него есть поля. Как? Пробую Код: java 1. 2. 3. 4. 5. 6. 7.
Код: java 1. 2. 3. 4. 5. 6. 7.
Они выдают разные ошибки. Мне и лень цитировать. Все говорят о том что я не то делаю. Прошу прощения что пока не могу их всех адекватно расшировать. Мало знаний по graphql. Каким образом я мог знать спецификацию полей не подглядывая в DocumentationExplorer (справа)? Насколько я понимаю эта мета тоже должна была извлечена из __schema или других спец-вьюх? Каких? Грубо говоря мне надо представить что я не человек а бот который собирает просто сведенья по доменной модели. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2019, 21:41 |
|
Субботний GraphQL
|
|||
---|---|---|---|
#18+
Ага. Значит таблички с маленькой буквы. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Но в моём кейсе с схемой EMP/DEBT в агрегации будет стоять DEBT. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2019, 23:22 |
|
Субботний GraphQL
|
|||
---|---|---|---|
#18+
С позволения господ Бэнкса и Порселло - я копипащу фрагмент книги GraphQL. Принципы проектирования GraphQL Несмотря на то что GraphQL не контролирует, как вы создаете свой API, спецификация предлагает некоторые рекомендации 1 . Иерархичность. GraphQL-запрос является иерархическим. Поля встраиваются в другие поля, и запрос формируется подобно дан- ным, которые он возвращает. Ориентированность на продукт. GraphQL управляется потреб- ностями данных клиента, а также языком и временем выполнения, поддерживаемыми клиентом. Строгая типизация. Сервер GraphQL поддерживается системой GraphQL. В схеме каждая точка данных имеет определенный тип, насчет которого она будет проверена. Запросы, определенные клиентом. Сервер GraphQL предоставляет возможности, которые клиенты могут использовать. Интроспектива. Язык GraphQL может запрашивать серверную систему типов GraphQL По запросам - непонятно. Возможно перевод хреновый. Что за точка данных? Непонятно. Надо искать по книге. А.... то что я называл интроспекция... они тут назвали интроспектива. Ну ладно. Иерархичность. Хм.. честно я ожидал графовость. Ну ладно. Возможно это также можно трактовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2019, 23:28 |
|
Субботний GraphQL
|
|||
---|---|---|---|
#18+
А.. точка - это endpoint. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2019, 23:32 |
|
Субботний GraphQL
|
|||
---|---|---|---|
#18+
Продолжим. По запросам. Допустим мне интересно смотреть список сотрудников. И выборочно одного сотрудника. Код: javascript 1. 2. 3. 4. 5. 6. 7.
Здесь сразу возникает некая избыточность. Зачем мне 2 метода? Хочется как-то обобщить? Но как. И констрейнты. Вот эти варианты - понятны. Здесь - not null Код: java 1.
Здесь - всегда список. Код: java 1.
А это что за Хрень? Код: java 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2019, 11:15 |
|
Субботний GraphQL
|
|||
---|---|---|---|
#18+
видио непустой список ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2019, 12:14 |
|
Субботний GraphQL
|
|||
---|---|---|---|
#18+
Список минимум из 1 элемента? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2019, 13:55 |
|
Субботний GraphQL
|
|||
---|---|---|---|
#18+
я GraphQL не знаю, но в скале такой тип очень распространен, называется NEL(NonEmptyList). Часто применяется при валидациях различных, когда у тебя два исхода - либо корректный результат либо непустой список с ошибками. Тогда тебе не надо проверять что список не пустой, чтобы отобразить первое сообщение об ошибке. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2019, 14:40 |
|
Субботний GraphQL
|
|||
---|---|---|---|
#18+
Создатели этого фреймворка - фанаты Node. Вторая половина книги Бэнкса и Порселло - полностью посвящена примерам на Node.JS (Apollo Server) что для меня создает некоторые неудобства. Ну да ладно. Потрачу несколько дней. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2019, 14:56 |
|
|
start [/forum/topic.php?fid=59&fpage=26&tid=2121236]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
79ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 201ms |
0 / 0 |