我有一個主枚舉類,它本質上是一種對象類的類定義。例如,它看起來像下面的例子:使用@RequestBody將JSON轉換爲枚舉類型
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請求:255,綠:0藍:0}
要使用
@RequestMapping(value = "v1/color/EnableColors", method = RequestMethod.POST)
@ResponseBody
public ResponseObject enableColors(@RequestBody Map<ColorDefinition, Integer> colorMapping)
要我收到以下錯誤消息的彈簧控制端點:
不能構造從字符串「紅」型ColorDefinition的地圖鍵:不有效的重新演示文稿:不能從字符串「紅色」構造ColorDefinition類型的Map鍵:不是Enum類的值之一
我在這裏做錯了什麼?在枚舉類中是否需要其他方法來正確轉換傳入的枚舉值?是否應該使用枚舉中的另一個值(我試過它們沒有成功)?任何幫助表示讚賞,似乎這應該是可以自動轉換傳入的值,我只是無法弄清楚!
是你能找到一個解決辦法?我有類似的問題,不知道該怎麼辦.. – ion20