0
schema
にinterface
を使用しようとしています。ここでschema
次のとおりです。GraphiQLがインターフェースフィールドを自動補完/検索しないのはなぜですか?
export default new GraphQLObjectType({
name: "Org",
fields:() => ({
name: {
type: GraphQLString
},
paymentType: {
type: PaymentType,
resolveType: ({ isCreditCard }) => isCreditCard ? CreditCard : ACH
}
});
export const PaymentType = new GraphQLInterfaceType({
name: "PaymentType",
fields:() => ({
id: {
type: new GraphQLNonNull(GraphQLID)
},
name: {
type: new GraphQLNonNull(GraphQLString)
},
address: {
type: new GraphQLNonNull(Address)
}
})
});
export const CreditCard = new GraphQLObjectType({
name: "CreditCard",
interfaces: [PaymentType],
fields:() => ({
number: new GraphQLNonNull(GraphQLInt),
})
});
export const ACH = new GraphQLObjectType({
name: "ACH",
interfaces: [PaymentType],
fields:() => ({
routing: new GraphQLNonNull(GraphQLInt),
accountNumber: new GraphQLNonNull(GraphQLInt),
})
});
私はGraphiQL
に行くとき、私はpaymentType
とinterface
にあるフィールドを表示することができますが、私はCreditCard
またはACH
情報を見ることができません。私は何かが間違って設定する必要がありますか?私は何が欠けていますか?
通常、エクスポートのデフォルトでtypeとresolveTypeの両方を使用していますか? –