2016-11-30 4 views
2

私は、突然変異中にユーザーから提供された入力を検証し、いくつかの無効なフィールドがある場合はエラーを出したいと思います。GrapQL-Javaからの返信エラー

は、私がGraphQL-Javaを使用して実装については、この質問をしたいGraphQL-JS here

のための質問に答える質問があります。

APIサーバーにデータを送信するフォームがあるとします。 APIサーバーは入力を検証し、JSONオブジェクトを返します。入力が無効な場合は、以下のようなエラーオブジェクトが返されます。

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

GraphQLを使用するときにどのように我々は、エラーのこれらの種類を処理し、仕えるのですか?データ検証がどのように実装されるべきか(GraphQLの一部であるべきか、それが各解決関数の中にあるべきか)

答えて

2

graphql-java実装には、クエリが有効でないかどうかをチェックするクラスがあります(すなわち、graphql.validation.Validatior)。こうすることで、実行する前にクエリ文字列を検証できます。

クエリが無効な場合は、エラー応答を生成するパラメータとしてList<ValidationError>を使用するメソッドを作成できます。

例:ちょうどノート

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

。有効なGraphQL実装であるgraphql-javaをインクルードすると、各クエリが単独で検証され、無効なクエリは決して実行をトリガしません。問題は、エラー処理の振る舞いをどのようにカスタマイズできるかだけです。 – kaqqao

関連する問題