我正在使用弹簧控制器。
这是代码。
@RequestParam(value = "status", required = false, defaultValue = StatusEnum.STATUS.toString())
如果我使用enum作为defaultValue,我将获得注释属性RequestParam.defaultValue的值必须是常量表达式。
根据我的理解,它应该接受枚举作为默认值。
请建议。
答案 0 :(得分:20)
因为它必须是一个String,并且它必须是一个常量表达式,所以这里唯一真正的选择是使用适用于Enum.valueOf()
的值,因为这是最终解决它的方法。
具体来说,你应该阅读
@RequestParam(value = "status", required = false, defaultValue = "STATUS")
当然,假设"STATUS"
是StatusEnum.STATUS
的字符串值。