Apollo客户端未解析UserInputError

时间:2020-01-16 12:25:05

标签: reactjs graphql apollo-client

我从Apollo服务器抛出UserInputError,操场上正确显示了带有扩展名和异常的错误,但是apollo客户端未显示扩展名和异常。

2 个答案:

答案 0 :(得分:1)

对错误进行字符串化处理后发现,我们可以使用error.graphQlErrors [0]访问该错误,奇怪的是它没有写在文档的任何地方。这肯定给我带来了很多麻烦

答案 1 :(得分:0)

现有答案对我有用。只是提供更多详细信息以帮助未来的 Google 员工。

在 apollo-server 后端,我们抛出了一个错误:

throw new UserInputError("Form Arguments invalid", {
    field: "name",
});

在 apollo-client 前端,我们发现了那个错误:

try {
    // Perform GraphQL mutation.
} catch (error) {
    // How do we get the "field" extra info?
}

正如前面的回答所说,有一些 graphQlErrors 属性包含额外信息。因此,在此示例中,我可以访问 error.graphQlErrors[0].extensions.field 以获取“名称”值。

相关问题