2017-02-27 6 views
0

GraphQLタイプ内でフィールドを解決しようとすると問題が発生します。 だから、ここで私はpatientQueryGraphqlはmakeExecutableSchemaでマッピングを解決します

const gqlSchema = makeExecutableSchema({ 
    typeDefs: ` 
    type patientQuery { 
    find: [String] 
    findOne: String 
    } 
    type Query { 
    patient: patientQuery 
    } 
    type Mutation { 
    addPost(name: String, title: String, content: String): patientQuery 
    } 
    schema { 
    query: Query 
    mutation: Mutation 
    } 
    `, 
    resolvers: { 
     patientQuery: { 
     find(root, params, context, ast) { 
      console.log('testing'); 
      return ['title']; 
     } 
     } 
    } 
    }); 

findプロパティを解決しようとしていますが、私はこの

{ 
    patient { 
    find 
    } 
} 

のようなクエリを実行するとき、私は常にnull

{ 
    "data": { 
    "patient": null 
    } 
} 

を取得するだから何がありますpatientQueryタイプのフィールドを解決する適切な方法はありますか?

+0

を、私はそれが関係している疑いがあります実際には文字列を返すが、フィールドは文字列の配列を返すと予想されます。 'return ['title']' – XuoriG

+0

は配列を返す解決関数を変更しましたが、それでもnullを返します – Shalkam

答えて

0

私はこの問題を発見しました。 タイプは、nullを返さないように患者フィールドを解決する必要がありました。

だから、新しいリゾルバは、次のようになりますオブジェクト

resolvers: { 
    Query: { 
    patient() { 
     return true; 
    } 
    }, 
    patientQuery: { 
    find(root, params, context, ast) { 
     console.log('testing'); 
     return [ 'title' ]; 
    } 
    } 
} 

古い問題を解決するために: - 一見

resolvers: { 
    patientQuery: { 
    find(root, params, context, ast) { 
     console.log('testing'); 
     return ['title']; 
    } 
    } 
} 
関連する問題