首页 > 解决方案 > 仅返回 GraphQL 中的子解析器错误

问题描述

以下是架构

type Payload {
    name: String!
    address: String!
    phone: String
}

type Mutation {
    login(username: String!, password: String!): Payload!
}

以下是有效载荷的解析器

Payload: {
    user: {
        resolve: async (parent, args, context, info) => {
            // Some logic here
            throw err;
        }
    }
}

当我从子解析器(此处为有效负载解析器)抛出错误时,graphql 仍然返回从父解析器返回的所有有效负载数据,并且仅对于用户字段它返回错误。我们可以更改此行为以仅返回子解析器抛出的错误吗?

标签: error-handlinggraphqlapolloprismaprisma-graphql

解决方案


我不认为这是可能的。根据GraphQL 响应文档

  • 如果任何一个data被解析并被error抛出,两者都将由服务器返回。

推荐阅读