HotChocolate はすべての上位カタツムリ ケースで列挙値をシリアル化します。これは、列挙値がHot Chocolate のようFooBar
に推論されることにつながりますが、FooBar を提供し、Hot Chocolate は を無視するようです。FOO_BAR
value.ToString()
Enum.GetName(value)
[EnumMember(Value = "FooBar")]
シリアライゼーションを好きなように変更するにはどうすればよいですか?
HotChocolate はすべての上位カタツムリ ケースで列挙値をシリアル化します。これは、列挙値がHot Chocolate のようFooBar
に推論されることにつながりますが、FooBar を提供し、Hot Chocolate は を無視するようです。FOO_BAR
value.ToString()
Enum.GetName(value)
[EnumMember(Value = "FooBar")]
シリアライゼーションを好きなように変更するにはどうすればよいですか?
HotChocolate サーバー v11 は、既定で UPPER_SNAIL_CASE としてシリアル化される列挙値を既定値とする仕様の推奨事項に従います。
これは次のように変更できます。
builder
.AddConvention<INamingConventions>(new YourNamingConvention())
public class YourNamingConvention
: DefaultNamingConventions
{
public override NameString GetEnumValueName(object value)
{
if (value == null)
{
throw new ArgumentNullException(nameof(value));
}
return value.ToString().ToUpperInvariant(); // change this to whatever you like
}
}