【发布时间】:2017-09-01 06:30:45
【问题描述】:
我有一个弹簧启动控制器,我的参数之一是枚举。枚举有一个字符串值。我想将枚举的值和控制器作为参数传递给我枚举。这个可以吗?
@RequestMapping(value = "/")
public MyResponse getResponse ( @RequestParam(value = "version") final ProjectVersion version ) {
...bla bla bla...
}
public enum ProjectVersion {
VERSION_1 ("1.00")
VERSION_2 ("2.00")
private final String version;
ProjectVersion ( String version ) {
this.version = version;
}
@Override
public String toString() {
return this.version;
}
}
我希望能够提出如下请求:
http://myhost.com/mypath?version=1.00
并在控制器中获取 ProjectVersion.VERSION_1
有什么想法吗?
【问题讨论】:
-
是的,使用自定义序列化程序。看看这个,正是你的情况:stackoverflow.com/questions/7766791/…
-
如果你传递
VERSION_1它会工作,如果你传递内部值它不会那么你需要自己创建一个自定义转换器。
标签: spring spring-boot enums jackson