You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core中Hot Chocolate枚举序列化问题排查

解决Hot Chocolate中EmployeeType枚举序列化错误(EXEC_INVALID_LEAF_VALUE)

以下是针对该错误的排查和解决方向:

  • 检查枚举与请求值的大小写匹配
    Hot Chocolate枚举默认区分大小写,比如代码中定义EmployeeType.FullTime,但请求里传fulltime或Fulltime就会触发序列化失败。确保请求中的枚举值和C#枚举成员名称完全一致(包括大小写)。

  • 确认枚举已正确注册到Schema
    如果手动构建Schema,需确保枚举类型被添加:

builder.AddType<EmployeeType>();

若用自动发现机制,检查枚举类是否在扫描的程序集中,可显式添加[EnumType]特性避免扫描遗漏(尽管默认支持,显式标记更稳妥)。

  • 排查数据源的枚举映射
    如果枚举值来自数据库,确认存储的数值/字符串能正确映射到C#枚举成员。比如数据库存"Contract"但枚举定义是Contractor,可通过特性指定映射:
public enum EmployeeType
{
    [EnumValue("FullTime")]
    FullTimeEmployee,
    [EnumValue("Contract")]
    Contractor
}
  • 验证请求值的类型
    确保请求传递的是枚举的名称字符串,而非整数。在Banana Cake Pop中,应写employeeType: FullTime而非employeeType: 1(除非你配置了支持整数序列化)。

  • 检查自定义序列化冲突
    若项目中为枚举添加了自定义序列化/反序列化逻辑(比如实现IEnumSerializer或第三方库转换器),可能和Hot Chocolate默认处理冲突,临时禁用自定义逻辑测试是否恢复正常。

内容的提问来源于stack exchange,提问作者luqman ahmad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 20:48:19