Suppose a GraphQL schema supports the following queries:
{
person(id: String) {
locationId
}
}
and
{
location(id: String) {
country
}
}
Is it possible to find a person
by id
, then use the resulting locationid
to find their location
by id
(returning the country
corresponding to that location
) all the in a single query?
Or would I have to make two separate queries?
The query would look like this;
{
person(id: string){
location{
country
}
}
}
In your person type, you can apply a resolver to the location
field which gets the location based on the locationId of the person which the query is performed against.
If that is the only information on a location
that you can get from a person
then yes, you will need to perform two queries in separate requests.
It would be more normal for a GraphQL schema to present the whole location
node as visible from the person
(i.e. the id's would be dereferenced, though perhaps still available), and if a person
could have more than one location
then you would follow the locations
edge to get to each location
node.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With