2017-12-29 8 views
0

schemainterfaceを使用しようとしています。ここで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に行くとき、私はpaymentTypeinterfaceにあるフィールドを表示することができますが、私はCreditCardまたはACH情報を見ることができません。私は何かが間違って設定する必要がありますか?私は何が欠けていますか?

答えて

0

たとえば、クエリにタイプ(クレジットカードまたはACH)を使用していますか?

+0

通常、エクスポートのデフォルトでtypeとresolveTypeの両方を使用していますか? –

関連する問題