从GrapQL Java返回错误

从GrapQL Java返回错误,java,error-handling,graphql,graphql-java,Java,Error Handling,Graphql,Graphql Java,我想验证用户在变异期间提供的输入,如果提供了一些无效字段,则提供错误 有一个问题可以回答GraphQL JS的问题 我想问一个关于使用GraphQL Java实现的问题 假设您有一个表单将数据发布到API服务器。API服务器验证输入并返回JSON对象。如果输入无效,则返回错误对象,如下面的对象 {错误:{field1:“是必需的”} 在使用GraphQL时,我们如何处理和服务此类错误?数据验证应该如何以及在何处实现(应该是GraphQL的一部分还是在每个解析函数中)?GraphQL java实现

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

有一个问题可以回答GraphQL JS的问题

我想问一个关于使用GraphQL Java实现的问题

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

{错误:{field1:“是必需的”}


在使用GraphQL时,我们如何处理和服务此类错误?数据验证应该如何以及在何处实现(应该是GraphQL的一部分还是在每个解析函数中)?

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

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

例如:

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

只是一个注释。任何有效的GraphQL实现(包括GraphQL java)都将自行验证每个查询,而无效查询将永远不会触发执行。问题只是错误处理行为的可定制性如何。