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

如何为@GraphQLArgument的枚举类型设置默认值?

如何为@GraphQLArgument的枚举类型设置默认值?

你的枚举定义如下:

public enum CursorDirection {
    @GraphQLEnumValue(name = "FORWARD")
    FORWARD,
    @GraphQLEnumValue(name = "BACKWARD")
    BACKWARD;
}

直接将枚举名称设为defaultValue时出现Jackson解析错误,核心原因是框架会把defaultValue的值当作JSON解析,未加引号的FORWARD不是合法的JSON格式。

正确设置方式

把枚举值用双引号包裹,作为合法的JSON字符串传入:

@GraphQLArgument(name = "cursorDirection", description = CURSOR_DIRECTION_DESC, defaultValue = "\"FORWARD\"")
CursorDirection cursorDirection

原因说明

框架在处理@GraphQLArgument的defaultValue参数时,会通过Jackson将其解析为JSON。原始代码中的"FORWARD"会被解析成未加引号的JSON token,不符合JSON语法规范;而包裹双引号后,"\"FORWARD\""是合法的JSON字符串,能被正确转换为对应的CursorDirection.FORWARD枚举值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 11:19:57