2017-02-27 32 views
0

我在嘗試解析GraphQL類型內部的字段時遇到問題。 所以,在這裏我想解決的patientQuery使用makeExecutableSchema的Graphql解析映射

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 
    } 
} 

查詢我總是空

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

那麼,什麼是解決patientQuery類型內部字段的正確方法?

+0

在第一次看,我懷疑它與做事實上你正在返回一個字符串,但是這個字段需要返回一個字符串數組。 嘗試返回'返回['標題']' – XuoriG

+0

改變了解析函數返回一個數組,但仍然得到空 – Shalkam

回答

0

所以,我發現了這個問題。 Query類型必須解決病人領域,以便它不會返回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']; 
    } 
    } 
}