Typescript 变量"$用户ID“;“类型”的;ID";用于位置预期类型;身份证&引用;
我正在尝试使用npm包Typescript 变量"$用户ID“;“类型”的;ID";用于位置预期类型;身份证&引用;,typescript,graphql,template-strings,Typescript,Graphql,Template Strings,我正在尝试使用npm包graphql request发出graphql请求。我发现了模板文本的用法 async getCandidate(userId: number) { const query = gql` query($userId: ID){ candidate(id: $userId){ id _id source phone }
graphql request
发出graphql请求。我发现了模板文本的用法
async getCandidate(userId: number) {
const query = gql`
query($userId: ID){
candidate(id: $userId){
id _id source phone
}
}
`
const variables = {userId: "/api/candidates/" + userId}
return await request(GRAPHQL_URL, query, variables)
}
我试图使用usedId
变量,但出现错误:
Variable "$userId" of type "ID" used in position expecting type "ID!".: {"response":{"errors":[{"message":"Variable \"$userId\" of type \"ID\" used in position expecting type \"ID!\".","extensions":{"category":"graphql"},"locations":[{"line":2,"column":9},{"line":3,"column":19}]}],"status":200},"request":{"query":"\n\t\tquery($userId: ID){\n\t\t candidate(id: $userId){\n\t\t id _id source phone\n\t\t }\n\t\t}\n\t\t","variables":{"userId":"/api/candidates/1"}
您只需将此
查询($userId:ID){
修改为此查询($userId:ID!){
这是因为模式定义了userId
的值必须不可为空