TGViewer
LikeaDuck🦆 LikeaDuck🦆 @likeaduck · 1.41K subscribers
Post #142 1.98K
#graphql

Как известно, спецификация graphql предусматривает информирование об ошибке одновременно с возвратом той части данных, которые удалось получить. И, в связи с этим, референсная frontend библиотека apollo даже имеет три стратегии обработки таких ответов:

1️⃣ игнорировать errors, если пришло хоть что-то в data
2️⃣ игнорировать data, если пришло хоть что-то в errors
3️⃣ не игнорировать ничего (и data и errors предлагается обрабатывать самостоятельно как вы хотите)

Глядя на эти политики, меня не покидает ощущение, что варианты 1️⃣ и 2️⃣ как будто сужают спецификацию, что для меня бы, как гипотетического бэкендера, выглядело странно: почему ты игнорируешь то, что я старательно тебе вернул? 😁

А вариант 3️⃣ представлен красивым примерчиком frontend-кода:
function ShowingSomeErrors() {
const { loading, error, data } = useQuery(MY_QUERY, { errorPolicy: "all" });

if (loading) return <span>loading...</span>;
return (
<div>
<h2>Good: {data.goodField}</h2>
<pre>
Bad:{" "}
{error.graphQLErrors.map(({ message }, i) => (
<span key={i}>{message}</span>
))}
</pre>
</div>
);
}


Внимание вопрос
: если вы работаете с GraphQL, то какая стратегия обработки ошибок используется у вас?
И, если это 3️⃣ (не игнорировать ничего), то весь ваш фронтенд действительно обмазан и обработкой data, и обработкой error для всех запросов, где есть nullable fields?
Apollo GraphQL Docs Handling operation errors Learn how to manage errors in your application
  • 😁 2
  • 👍 1
More from @likeaduck
  1. May 31, 2026Последние три дня связаны с конференцией Codefest'16 - для меня это была крайне редкая кон…
  2. May 12, 2026В семье все заболели. После конференции сказался, видимо, недосып и усталость, иммунитет о…
  3. Apr 29, 2026Любопытный факт: Оказалось, я на втором месте по числу выступлений на Heisenbug за все вре…
  4. Apr 22, 2026Неделя в Москве - тимбилдинг со своими командами (на фото героическая QA-core команда, кот…
  5. Apr 21, 2026Впервые за год в TG написал рекрутер, спросил интересно ли обсудить позицию руководителя к…
  6. Mar 17, 2026Кстати fun fact о накрутке опыта: В QA.GURU мне дали посмотреть резюме (оценить и, возможн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →