請求對象根據訪問與快遞-graphql
http://graphql.org/graphql-js/authentication-and-express-middleware/
要使用中間件來GraphQL解析器,只需使用中間件就像你會與一個正常的快速應用。然後,請求對象可作爲任何解析器中的第二個參數。
然而,當我跑我的解析器
module.exports = {
Query: {
books(root, args, context) {
return books;
}
}
};
第二個參數是我的查詢參數。第三個參數,但是,除非我重寫context
config屬性爲expressGraphql
確實是我的請求對象。
我的全配置是
app.use(
"/graphql",
expressGraphql({
schema,
graphiql: true
})
);
是文檔錯了,還是我錯誤地做一些事情?
哦,男人非常感謝你 - 這實際上我還有其他幾點困惑。所以我通過'graphql-tools'傳遞我的解析器,https://github.com/arackaf/booklist/blob/feature/add-graphQL/schema.js#L16你是說我還有另一條路線,它沒有我的模式作爲字符串,並會影響我的解析器參數?所以如果有人走這條路線,什麼是根的價值?我仍然可以指定它,docs提到了「root resolver」,但我並沒有完全理解這意味着什麼 - 我認爲它是針對靜態全局幫手或其他東西:-P –
我相當確信**只有**時間當你在'rootValue'中定義你的解析器時,你會看到第一個參數放下。據我所知,'rootValue'是'context'可用之前的剩餘物 - 現在它的使用受到限制...除非你選擇使用'buildSchema',在這種情況下,它是唯一可以通過解析器傳遞的方法。 [Example here](http://graphql.org/graphql-js/running-an-express-graphql-server/)。如果你已經使用'graphql-tools',你可能不需要搞亂rootValue。 –
用幾個示例鏈接編輯答案。 –