我有一个主枚举类,它基本上是对象类型的类定义。例如,它看起来像下面的示例:
public enum ColorDefinition
{
private String abbrev;
private String color;
private Class colorClass;
RED("RD", "Red", Red.class),
GREEN("GN", "Green", Green.class),
BLUE("BL", "Blue", Blue.class)....
}
我正在尝试从Javascript模型设置一个Post请求,该请求在主体中发送了一个映射,例如
{Red : 255, Green : 0, Blue: 0}
发送到一个使用Spring控制的端点。
@RequestMapping(value = "v1/color/EnableColors", method = RequestMethod.POST)
@ResponseBody
public ResponseObject enableColors(@RequestBody Map<ColorDefinition, Integer> colorMapping)
我得到了以下错误信息:
无法从字符串“Red”构造类型为ColorDefinition的映射键:不是有效表示:无法从字符串“Red”构造类型为ColorDefinition的映射键:不属于Enum类的值之一。
我在这里做错了什么?我需要在枚举类中使用其他方法来正确地转换传入的枚举值吗?它应该使用枚举中的另一个值(我已经尝试过没有成功)?任何帮助都将不胜感激,似乎这应该可以自动转换传入的值,我只是想不出来!