我正在制作一个假设的网站,用户可以在其中给餐厅评分 0-5 星。我正在使用 Node、Typescript 和 Apollo Server。我以为我会尝试使用自定义标量来进行评级。所以在我的graphql模式中我有(简化了一点):
scalar StarRating
type Rating {
restaurant_id: String!
stars: StarRating!
}
type Mutation {
createRating(data: RatingInput!): Rating
}
input RatingInput {
restaurant_id: String!
stars: StarRating!
}
在代码中,我有一个适当的解析器,遵循 Apollo Server 文档中的一个简单示例。到目前为止,这不会导致任何错误并且可以正常启动。突变甚至工作得很好。但是,graphQL 游乐场无法进行自省 - 如果我查看我的 chrome 控制台,它会显示错误:
Uncaught Error: Introspection must provide input type for argument
我无法弄清楚如何在输入类型中使用此自定义标量而不会导致此错误,有人知道吗?