【问题标题】:How to return a GraphQL error in graphql-tools addMockFunctionsToSchema?如何在 graphql-tools addMockFunctionsToSchema 中返回 GraphQL 错误?
【发布时间】:2018-09-24 18:29:54
【问题描述】:

我想在 graphql-tools/addMockFunctionsToSchema 模拟解析器中模拟一个错误响应,在这个 pattern 之后:

const mocks = {
  ...,
  Mutation: () => ({
    getToken: (_, { password }) => {
      if (password === 'password') {
        return { value: casual.uuid }
      } else {
        throw new Error('Incorrect email or password')
      }
    }
  })
}

const schema = makeExecutableSchema({`
  type Token { value: ID! }
  type Mutation {
     getToken(email: String!, password: String!): Token
  }
`});

addMockFunctionsToSchema({ schema, mocks});

这可以正常工作并且确实会返回 GraphQL 错误,但是:

  1. 看起来它只是返回一个错误,因为它是一个内部服务器错误,抛出这个line
  2. 我想模拟一个表明用户输入无效的实际 GraphQL 错误响应

【问题讨论】:

    标签: apollo-client graphql-tools


    【解决方案1】:

    我今天只是在研究这个问题。 事实证明,您应该只返回错误而不是抛出错误。

      Mutation: () => ({
        getToken: (_, { password }) => {
          if (password === 'password') {
            return { value: casual.uuid }
          } else {
            return new Error('Incorrect email or password')
          }
        }
      })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-01
      • 2017-04-15
      • 2020-09-16
      • 2021-08-07
      • 2017-10-23
      • 2020-09-12
      • 2019-02-02
      • 1970-01-01
      相关资源
      最近更新 更多