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

如何在Hot Chocolate中为char类型字段配置过滤功能?

解决Hot Chocolate中char类型字段过滤的问题
  • 保留你已有的两项配置:

    1. 绑定char类型到GraphQL的StringType:builder.BindRuntimeType<char, StringType>()
    2. 添加char转string的类型转换器:builder.AddTypeConverter<char, string>(c => c.ToString())
      (如果要支持修改操作(Mutation),确实得补一个反向转换器:builder.AddTypeConverter<string, char>(s => s.FirstOrDefault()),空字符串的处理逻辑可以按需调整)
  • 关键新增配置:给过滤系统指定char类型对应的过滤输入类型

    builder.AddFiltering(options =>
    {
        // 让过滤系统用字符串的过滤规则来处理char类型字段
        options.BindRuntimeType<char, StringOperationFilterInputType>();
    });
    

这么改完,[UseFiltering]就能正常识别Status字段的类型,生成对应的过滤输入项,同时通过已有的类型转换器自动完成string和char的转换,实现过滤功能。

原因很简单:之前只给Schema输出层配置了char的类型映射,但过滤系统不知道该怎么处理char类型的输入条件,所以报错类型未知。绑定char到StringOperationFilterInputType后,过滤系统会生成字符串相关的过滤规则(比如等于、包含、范围等),再配合类型转换器完成数据的双向转换。

内容的提问来源于stack exchange,提问作者Bennett McElwee

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 18:40:25