Skip to content

[Question] Why is the validation added via directive wiring and not instrumentation? #122

@quinlam

Description

@quinlam

This is a question that I think would be helpful in the FAQ, as while I am sure there are good reasons, its not immediately obvious why (at least to me and those I have spoken with), and I think informing users will help them navigate the usage of the graphql-java library itself with more intent.

For example the Instrumentation interface provides a beginExecuteOperation method and has a FieldValidationInstrumentation implementation allowing the validation of fields via implementation of a FieldValidation

The FieldValidation provides a list of fields/arguments by path that can than be individually validated. I suspect the reason it may not be useful is because of these lines

only fields that have arguments make any sense to placed in play since only they have variable input

Which at face value makes sense to me, but maybe I am missing something here and that is where the nuance lies? If so would love an explanation, and if not then I would really value from understanding more. I would ask that the answer is added to the end of the README. Happy to contribute in this regard when I understand more.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions