4

ミューテーション中にユーザーが提供した入力を検証し、無効なフィールドが提供されている場合はエラーを提供したいと思います。

GraphQL-JS hereの質問に答える質問があります

GraphQL-Javaを使った実装について質問したいです。

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

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

GraphQL を使用する場合、この種のエラーをどのように処理して提供するのでしょうか? どのように、どこでデータ検証を実装する必要がありますか (GraphQL の一部にする必要がありますか、それとも各解決関数内に配置する必要がありますか)?

4

1 に答える 1

2

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

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

例:

List<ValidationError> errors = validator.validateDocument(graphQLSchema, requestString);
if (!errors.isEmpty()) { return executeError(errors); }
于 2016-11-30T20:53:20.597 に答える