我从Apollo服务器抛出UserInputError,操场上正确显示了带有扩展名和异常的错误,但是apollo客户端未显示扩展名和异常。
答案 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
以获取“名称”值。