IM
Size: a a a
IM
NP
IM
IM
NP
IM
NP
foos {
totalCount # хочешь выполнить 1 раз
id # выполняешь на каждой сущности
}IM
NP
IM
IM
GET на коллекцию и получаешь не массив, а объект. а в объекте есть поле с нужным тебе массивом + какие-то метаданныеIM
NP
IM
IM
IM
NP
IM
foos {
totalCount
cursor
...ещё_что-то
entries / foos / что_угодно_из_домена {
id
}
}NP
totalCount на типах или резолверахIM
class PaginatedOrders < GraphQL::Schema::Object
field :total_count, Integer, null: false
field :orders, [Order], null: false
end
class Query < ...
field :orders, PaginatedOrders, null: false, resolver: PaginatedOrders
end
something {
foo(abc) {
}
}
}
появляется something {
foo(abc) {
...meta
foo { ... }
}
}
}
И резолвишь ты не something.foo.foo, а something.foo.
Как результат — изворачиваться не нужно, API простой, и прямолинейный