diff --git a/src/GraphQL.Relay/Types/MutationInputs.cs b/src/GraphQL.Relay/Types/MutationInputs.cs index e66b97429..a3f4b17b6 100644 --- a/src/GraphQL.Relay/Types/MutationInputs.cs +++ b/src/GraphQL.Relay/Types/MutationInputs.cs @@ -1,3 +1,5 @@ +using GraphQL.Execution; + namespace GraphQL.Relay.Types { public class MutationInputs : Dictionary @@ -15,9 +17,11 @@ public object Get(string key) return this[key]; } - public T Get(string key, T defaultValue = default) + public T Get(string key, T defaultValue = default) where T : class { - return TryGetValue(key, out object value) ? (T)value : defaultValue; + if (!TryGetValue(key, out object value)) + return defaultValue; + return value is Dictionary dictionary ? dictionary.ToObject() : (T)value; } } }