看来我没有得到一些基本的东西与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