Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 变量"$用户ID“;“类型”的;ID";用于位置预期类型;身份证&引用;_Typescript_Graphql_Template Strings - Fatal编程技术网

Typescript 变量"$用户ID“;“类型”的;ID";用于位置预期类型;身份证&引用;

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 }

我正在尝试使用npm包
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
的值必须不可为空