看來我沒有得到一些基本的東西與graphql。graphql拋出未知的參數錯誤
我想通過它的id得到一個用戶,而這又是另一個查詢的結果。在這種情況下,查詢某些會話數據。
我不明白爲什麼發生錯誤。
這裏是我的代碼:
{
session(key: "558fd6c627267d737d11e758f1ae48cae71fc9b584e2882926ad5470c88d7c3ace08c9c7") {
userId
expires
user(id: userId) {
name
}
}
}
我也得到
對類型的字段 「用戶」, 「會議」 未知參數 「ID」
我的模式是這樣的:
type Session {
userId: String,
expires: String,
user: User
}
type User {
_id: String
name: String
email: String
firstName: String
lastName: String
}
type Query {
session(key: String!): Session
user(id: String!): User
}
附錄Feb 23 2017
我很抱歉,在我的初始文章中,我對相應的解析器沒有足夠的瞭解。是的,我的解決方案是定義和e。 G。如果我不添加用戶,該查詢適用於會話。
這裏是我的根:
{
Query: {
async user(parentValue, args, req) {
let user = await adapters.users.byId(args.id);
return user;
},
async session(parentValue, args, req) {
let session = await adapters.session(args.key);
let userId = session.session.userId;
let expires = session.expires;
return {userId: userId, expires: expires};
}
}
}
好了,我的錯,我想這不用說,還有每個查詢解析器。如果我沒有解析器,程序甚至會在這個錯誤消息之前崩潰。但爲了完整和明確,我會將解析器添加到上面的代碼中。 如果我只是查詢沒有用戶的會話,該查詢就可以工作。 一件事:我使用Apollo的graphql工具的架構定義,所以它的定義是基於GraphQL類型語言。看看2017年2月23日的附錄 – LongHike
我編輯了答案,爲您的案例提供示例 – piotrbienias
非常感謝。這工作! – LongHike