您的问题看起来像是您正在尝试进行开发,但您给出的答案看起来像是您专门在进行测试。我不知道这是否是由于工具而导致的结果,或者这是否是您的实际问题,但这是我为开发人员提供的答案:
如果您只是运行其中一项服务,您仍然可以对其进行查询,只需按照 ApolloGateway 的方式进行即可。比如说,你有一个 person-service 和一个 place-service,而且 People 可以访问很多地方:
个人服务
type Person @key(fields: "id") {
id: ID!
name: String
}
type Query {
person(id: ID): Person # Assuming this is the only entry-point
}
地方服务
type Place {
id: ID!
name: String
}
extend type Person @key(fields: "id") {
id: ID!
placesVisited: [Place]
}
现在您可以对 place-service 进行以下查询:
query ($_representations: [_Any!]!) {
_entities(representations:$_representations) {
... on Person {
id
placesVisited {
id
name
}
}
}
}
这是您的输入:
{
"_representations": [{
"__typename": "Person",
"id": "some-id-of-some-person"
}]
}