Size: a a a

GraphQL — русскоговорящее сообщество

2020 March 30

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Хороший вопрос. Я не знаю. Как раскопаете, дайте знать.
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Но у нас ни разу проблем с поиском не было
источник

DT

Dmitry Tsepelev in GraphQL — русскоговорящее сообщество
Кажется можно воспользоваться AbortController (https://evilmartians.com/chronicles/aborting-queries-and-mutations-in-react-apollo)
источник

OK

Oleg Kachinskiy in GraphQL — русскоговорящее сообщество
Привет, такой вопрос: у меня есть резолвер который под капотом юзает функцию (с бизнес логикой), эта функция что-то вроде batch request но принимает она специфичные аргументы, можно ли мне как-то подружить её с DataLoader или с чем-то другим, нужна имеено cache per request фича DataLoader'a?
Пока ничего не выходит т.к. DataLoader работает только с массивом ключей.
Пример параметров функции:
(первый) context,
(второй) { arg1 (string), arg2 (string), arg3 (number[]), arg4 (object) }
источник

OK

Oleg Kachinskiy in GraphQL — русскоговорящее сообщество
Ну и return value у этого метода другое, т.к. это external request к другому сервису тоесть ответ такой { data: any[], total_count: number }, походу DataLoader мне тут не поможет :)
источник

ГК

Геннадий Ковалёв in GraphQL — русскоговорящее сообщество
Всем привет. Делаю сервер с API. Вопрос в каком формате отдавать ошибки, которые не связаны с самим запросом. Например, 401, когда токен аутентификации не указали. Я могу просто отдавать как обычно, с кодом 401 и Content-Type text/plain? Есть требования для этого или это на усмотрение разработчика?
источник

DT

Dmitry Tsepelev in GraphQL — русскоговорящее сообщество
Геннадий Ковалёв
Всем привет. Делаю сервер с API. Вопрос в каком формате отдавать ошибки, которые не связаны с самим запросом. Например, 401, когда токен аутентификации не указали. Я могу просто отдавать как обычно, с кодом 401 и Content-Type text/plain? Есть требования для этого или это на усмотрение разработчика?
Можно добавлять в errors объект ошибки и научить клиент ее обрабатывать (и другие подобные ошибки общего вида в стиле “нет прав”)
источник

DT

Dmitry Tsepelev in GraphQL — русскоговорящее сообщество
На http статусы лучше не полагаться — graphql про них ничего не знает, как и множество тулинга, особенно клиентского
источник

ГК

Геннадий Ковалёв in GraphQL — русскоговорящее сообщество
Ну то есть даже, если у меня http статус отличный от 200, то я могу на всякий случай выставить этот статус, но тело сообщения делать всё равно в соотвествие со спекой. Понял, спасибо.
источник

BS

Bogdan Shelomanov in GraphQL — русскоговорящее сообщество
Pavel @nodkz
Хороший вопрос. Я не знаю. Как раскопаете, дайте знать.
работает, проверили, берет результат не последнего разрешившегося промиса, а последнего нажатия
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Геннадий Ковалёв
Всем привет. Делаю сервер с API. Вопрос в каком формате отдавать ошибки, которые не связаны с самим запросом. Например, 401, когда токен аутентификации не указали. Я могу просто отдавать как обычно, с кодом 401 и Content-Type text/plain? Есть требования для этого или это на усмотрение разработчика?
Если у тебя АПИ и браузерный клиент будут на разных доменах (`credentials: 'include'`), то 401 ответ будет сбрасыаться браузером. Твой браузерный клиент не получит 401 код из-за cors политик.

Поэтому то что посоветовал Дмитрий единственно верное решение.
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Но это если клиент браузер и апи с клиентом на разных доменах.
источник

ГК

Геннадий Ковалёв in GraphQL — русскоговорящее сообщество
Понял. Короче тело нормально буду делать. Спасибо.
источник

ГК

Геннадий Ковалёв in GraphQL — русскоговорящее сообщество
> Привет, такой вопрос: у меня есть резолвер который под капотом юзает функцию (с бизнес логикой), эта функция что-то вроде batch request но принимает она специфичные аргументы, можно ли мне как-то подружить её с DataLoader или с чем-то другим, нужна имеено cache per request фича DataLoader'a?
> Пока ничего не выходит т.к. DataLoader работает только с массивом ключей.
> Пример параметров функции:
> (первый) context,
> (второй) { arg1 (string), arg2 (string), arg3 (number[]), arg4 (object) }

Я так понял это Go. Во-первых который конкретно DataLoader. Если аля фейсбучный, то там можно реализовать свой тип Key, в котором будут ваши параметры. Там предусмотреть метод Raw(), который выдаёт то, что делает экземпляр ключа уникальным. Сам data loader будет использовать именно Raw(), а для вызова своей логики сможете использовать элементы структуры из вашего кастомного Key.
источник

ДР

Димка Реактнативный 🛸 in GraphQL — русскоговорящее сообщество
Поддержка Web Sockets, Offline, стратегии слияния, генерация кода и все это из коробки в новом стейт менеджере DataStore от АWS Amplify

https://www.youtube.com/watch?v=J1cS13mb-Rs
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Ох амазоновцы какую вкусняшку слепили 👍
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Видимо у них стоит задача порвать Firebase
источник

ДР

Димка Реактнативный 🛸 in GraphQL — русскоговорящее сообщество
Pavel @nodkz
Видимо у них стоит задача порвать Firebase
Ага, видимо) Особено активизировались по направлению мобильной разработки
источник

АЗ

Алексей Забайкальский in GraphQL — русскоговорящее сообщество
Пусть пилят, нам только лучше
источник

🦜

🦜 in GraphQL — русскоговорящее сообщество
ммм, логика во View
источник