【发布时间】:2021-12-05 05:16:05
【问题描述】:
我开始学习graphql。但我不能通过论点。当我 console.log 参数时,这是未定义的。我想从客户端传递greeting 的名称值并将其作为参数传递。
//schema
//resolvers
import { GraphQLServer } from "graphql-yoga";
//Scalar type: string, Boolean, Int, Float, ID
// ! must return same scalar type
// type name always cap
const typeDefs= `
type Query{
greeting(name: String): String!
me: User!
post: Post!
}
type User{
id: ID!
name: String!
email: String!
age: Int
}
type Post{
id:ID!
title: String!
body: String!
}
`
//age value is not must
//resolvers get four args parent,args,ctx,info
const resolvers={
Query:{
greeting:(args)=>{
console.log(args)
return `Konika said to ${args.name}`
},
me:()=>{
return{
id:"12345",
name: "jalmal",
email: "ja@gmail.com",
age: null
}
},
post:()=>{
return{
id: "12345",
title:"I am ok with it",
body:"Why I am failed"
}
}
}
}
const server = new GraphQLServer({typeDefs, resolvers})
server.start(()=>console.log(`server is running`));
我的查询是这样的
query{
greeting(name: "milar")
me{
id
email
age
}
post{
id
title
}
}
我找不到 args 未定义的原因。
【问题讨论】:
标签: node.js graphql graphql-js