我已经在这个问题上击败了一个星期,但网上没有任何解决办法。不返回数据对象,甚至不返回“null”。我正在从工作的 REST CRUD 应用程序转换为 GraphQL。没有我想象的那么容易。
我在 Playground 中的突变:
mutation createMember($input: MemberInput!) {
createMember (input: $input) {
first_name
last_name
user_name
}
}
Run Code Online (Sandbox Code Playgroud)
以下 Playground 查询变量:(不在标题部分。)
{
"input": {
"first_name": "John",
"last_name": "Creston",
"user_name": "jc"
}
}
Run Code Online (Sandbox Code Playgroud)
模式:(查询工作正常,成员类型,TypeORM 中的一个实体,与它们和完整的 REST CRUD 一起使用。)
input MemberInput {
first_name: String!
last_name: String!
user_name: String!
}
type Mutation {
createMember(input: MemberInput!): Member!
}
type Query {
getMembers: [Member]
getMember(member_id: Int!): Member!
checkUserName(user_name: String): Member
checkEmail(email: String): Member
}
Run Code Online (Sandbox Code Playgroud)
我不知道解析器如何成为此错误消息的问题,但我将添加 Nestjs 解析器:
@Mutation('createMember')
async createMember(@Args('input') input: MemberInput): Promise<Members> {
console.log('input in resolver: ', input);
return await this.membersService.addItem(input);
}
Run Code Online (Sandbox Code Playgroud)
该服务与 REST 和查询一起使用,因此这应该是一个问题。解析器中的 console.log 永远不会出现在终端中。
从复制卷曲按钮:
curl 'http://localhost:3000/graphql' -H 'Accept-Encoding: gzip,
deflate, br' -H 'Content-Type: application/json' -H 'Accept:
application/json' -H 'Connection: keep-alive' -H 'DNT: 1' -H 'Origin:
http://localhost:3000' --data-binary '{"query":"mutation
createMember($input: MemberInput!) {\n createMember (input: $input)
{\n first_name\n middle_initial\n last_name\n
user_name\n pitch\n main_skill_title\n \tskill_id_array\n
skills_comments\n other_skills\n links\n country\n
email\n member_status\n }\n}"}' --compressed
Run Code Online (Sandbox Code Playgroud)
我有同样的问题,在变量中,我在最后一个参数的末尾有逗号。gql 给了我同样的错误。
改变这个:
{
"input": {
"param1": "val1",
"param2": "val2",
}
}
Run Code Online (Sandbox Code Playgroud)
对此:
{
"input": {
"param1": "val1",
"param2": "val2" // no comma here
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2057 次 |
| 最近记录: |