从GrapQL-Java返回错误

时间:2016-11-30 20:30:54

标签: java error-handling graphql graphql-java

我想验证用户在变异期间提供的输入,如果提供了一些无效字段则提供错误。

有一个问题可以回答GraphQL-JS here

的问题

我想问一下使用GraphQL-Java实现这个问题。

我们假设您有一个将数据发布到API服务器的表单。 API服务器验证输入并返回JSON对象。如果输入无效,则返回如下所示的错误对象。

{errors: {field1: "is required"}}

使用GraphQL时,我们如何处理和提供这些错误?应该如何以及在何处实施数据验证(应该是GraphQL的一部分还是应该在每个解析函数中)?

1 个答案:

答案 0 :(得分:2)

graphql-java实现有一个类,用于检查查询是否无效(即graphql.validation.Validatior)。这样,您可以在执行查询字符串之前验证它们。

如果查询无效,您可以创建一个方法,将List<ValidationError>作为生成错误响应的参数。

示例:

List<ValidationError> errors = validator.validateDocument(graphQLSchema, requestString);
if (!errors.isEmpty()) { return executeError(errors); }