@RequestParam defaultvalue不接受枚举值作为默认值

问题描述 投票:18回答:1

我正在使用弹簧控制器。

这是代码。

@RequestParam(value = "status", required = false, defaultValue = StatusEnum.STATUS.toString())

如果我使用enum作为defaultValue我得到注释属性RequestParam.defaultValue的值必须是一个常量表达式。

根据我的理解,它应该接受枚举作为默认值。

请指教。

spring-mvc enums annotations
1个回答
21
投票

因为它必须是一个String,并且它必须是一个常量表达式,所以这里唯一真正的选择是使用适用于Enum.valueOf()的值,因为这是最终解决的方法。

具体来说,你的应该阅读

@RequestParam(value = "status", required = false, defaultValue = "STATUS")

当然,假设"STATUS"StatusEnum.STATUS的字符串值。

© www.soinside.com 2019 - 2024. All rights reserved.