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

为何HotChocolate未使用注册的输入/输出类型名?技术咨询

问题解答

这属于StrawberryShake的预期行为,而非Bug,具体原因和调整方式如下:

输入类型显示为DocumentInputContractInput的原因

StrawberryShake有默认的输入类型命名策略:当基于C#契约类生成GraphQL输入类型时,它会自动给契约类名称追加Input后缀,以此贴合GraphQL规范中输入类型通常以Input结尾的约定。如果想要使用自定义的输入类型名称(比如你定义的DocumentGraphqlInput),可以在输入契约类上显式添加特性指定:

[GraphQLInputType("DocumentGraphqlInput")]
public class DocumentInputContract
{
    // 契约属性定义
}

返回类型显示为DocumentOutputContract的原因

StrawberryShake默认会直接使用输出契约类的名称作为GraphQL返回类型的名称,除非你显式指定了GraphQL类型名称。如果想要让返回类型显示为DocumentGraphqlOutput,只需在输出契约类上添加类型指定特性:

[GraphQLType("DocumentGraphqlOutput")]
public class DocumentOutputContract
{
    // 契约属性定义
}

通过上述特性配置,就能让StrawberryShake生成的Schema中显示你期望的输入/返回类型名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 14:02:04