使用变量时的 GraphQL 错误请求

Posted

技术标签:

【中文标题】使用变量时的 GraphQL 错误请求【英文标题】:GraphQL bad request when using variables 【发布时间】:2021-03-03 01:41:01 【问题描述】:

我是 GraphQL 的新手,我需要使用 apollo 发出突变请求。我对语法很不熟悉,并且无法在其他地方找到解决问题的方法。

当我使用以下查询时,我得到一个状态码 200:

const CREATE_USER = gql`mutation Mutation 
  createUser(firstName: "corn", uid: "unique", contactNumber: "123467891") 
    user 
      uid
      contactNumber
      email
      firstName
      lastName
      gender
    ,
    ok
  
`

悬停,当我尝试使用以下查询实现变量时,我收到 400 错误请求代码:

const CREATE_USER = gql`mutation createUser($firstName: String, $lastName: String, $uid: String $contactNumber: String) 
        user 
            contactNumber
            email
            firstName
            lastName
            gender
            dob
        
        ok

我查看了示例并通过查询调整了变量以适应,但我仍然无法弄清楚我到底做错了什么。我知道这可能是一个简单的语法问题,但我对 graphql 太不熟悉了,无法弄清楚。任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

我相信我找到了正确的语法。我曾尝试过这样的变体,但我想我犯了导致错误的错误。这次我做对了。

const CREATE_USER = gql`mutation createUser($contactNumber: String, $uid: String!, $email: String, $firstName: String, $lastName: String) 
createUser(contactNumber: $contactNumber, uid: $uid, email: $email, firstName: $firstName, lastName: $lastName) 
    user 
        contactNumber
        uid
        email
        firstName
        lastName
        gender
        dob
    
    ok
   
`

【讨论】:

以上是关于使用变量时的 GraphQL 错误请求的主要内容,如果未能解决你的问题,请参考以下文章

我们如何从 GraphQL 的 RequestContextHolder 获取 GraphQL 的 HttpServletRequest(DefaultGlobalContext)(使用 graphq

在 GraphQL 对象查询中使用变量

运行突变以存储新用户的帖子返回错误:变量“$data”类型的预期值

GraphQL 查询错误——变量从未在操作中使用

Angular Apollo 将 URI 注入 graphql.module.ts

解析器抛出错误时的 GraphQL 重定向