Hello! Recently I am playing with apollo-router
and it seems that introspection does not work as I expected. An issue is filed against apollographql/federation-rs which contains more details.
So it appears that introspection is just execution of the query with empty input variable set. However, queries that do have variables of non-null types will fail. For instance, for the following schema and query pair, we would get $num
is missing while being an Int!
.
Schema
schema {
query: Query
mutation: Mutation
}
type Bar {
foobar: String!
}
type Foo {
subquery(num: Int!): Bar!
}
type Query {
foo: Foo!
}
type Mutation {
update(num: Int!): Int!
}
Query
query GetFoo($num: Int!) {
foo {
subquery(num: $num) {
__typename
}
}
}