Skip to content

Replace use of DataBinder for binding GraphQL arguments #516

Closed
@rstoyanchev

Description

@rstoyanchev

GraphQlArgumentBinder has supports populating a nested object structure, as long as target objects use constructor injection. For objects with a default constructor, and getters/setters, we use DataBinder. This has led to cases where we can fix an issue for constructor injection, where we have target type info handy, but can't do the same with the DataBinder, see #447 (comment) and #449 (comment). There are also other issues that are more challenging to address like #140 (comment) with this approach.

We already have the ability to bind a raw value from the argument map, also by nesting as needed, and should be able to scale back the use of DataBinder and only use a BeanWrapper to inspect a target property as well as to set it.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions