[英]How to pass request body into GraphQL Context?
我正在嘗試將請求主體放入上下文中,因為正文的一部分包含需要解碼的JWT。 但是,當我嘗試以下內容時,我的上下文未定義:
app.use('/', graphqlHTTP((req) => ({
schema: Schema,
context: req.body,
pretty: true,
graphiql: false
})));
我退出了req,我沒有看到身體。 我正在使用一個名為react-reach的庫,它會在請求中向主體添加以下內容:
{
query: {...},
queryParams: {...},
options: {
token: '...' // <-- I'm passing the token into options
}
}
我知道正在解釋正文,因為正在解釋和執行正文中的查詢/突變。 傳遞給上下文時似乎無法找到它。
除非您使用其他正文解析器中間件,否則您的req.body
是undefined
。 從Express文檔:
req.body
包含請求正文中提交的鍵值對數據。 默認情況下,它是未定義的,並且在使用正文解析器和multer等正文解析中間件時會填充。 http://expressjs.com/en/api.html#req.body
graphqlHTTP
正在解析請求體(見這里 ),這就是你的查詢/突變工作的原因。
添加中間件(如body-parser或multer)來解析請求體應該使它在req.body
上req.body
,然后你的上下文應該填充你正在尋找的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.