Обнаружение полей, запрашиваемые в запросе hotchocolate graphqlC#

Место общения программистов C#
Anonymous
Обнаружение полей, запрашиваемые в запросе hotchocolate graphql

Сообщение Anonymous »

У меня есть запрос GraphQL с двумя полями. Они поступают из отдельных, медленных источников, и один или оба из них могут привести к ошибке, представленной как нулевая в этом примере. Если оба являются нулевыми, то я хотел бы вернуть ошибку GraphQL. Я могу сделать это, используя запрос, как SO: < /p>

Код: Выделить всё

[ExtendObjectType(OperationTypeNames.Query)]
public class FooQuery
{
[GraphQLName("searchFoo")]
public async Task SearchFoo(FooRequest request)
{
var foo = new Foo {
Bar = GetBar(), // Slow, may return null
Baz = GetBaz()  // Slow, may return null
}
if (Bar == null && Baz == null) {
throw new GraphQLException(...);
}
return foo;
}
}
Может случиться так, что пользователь заинтересован только в bar и, следовательно, не включал Baz в их запросе.
Q: Есть ли способ, которым я могу обнаружить поля, которые были просят, и кратко обрабатываемой обработки Baz ? Бар приведет к тому, что весь запрос вернет ошибку, даже если данные фактически доступны для Baz . У нас уже есть клиенты, которые называют этот запрос, поэтому я бы предпочел не разделить его на отдельные запросы, так как это потребует изменений в клиентском коде, которые я не имею контроля.

Подробнее здесь: https://stackoverflow.com/questions/791 ... late-query

Вернуться в «C#»