基本的にオブジェクトのタイプのクラス定義であるマスター列挙型クラスがあります。たとえば、次の例のようになります。
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)....
}
{Red : 255, Green : 0, Blue: 0}などの本文でマッピングを送信する Javascript モデルからポスト リクエストを設定しようとして
います。
@RequestMapping(value = "v1/color/EnableColors", method = RequestMethod.POST)
@ResponseBody
public ResponseObject enableColors(@RequestBody Map<ColorDefinition, Integer> colorMapping)
次のエラーメッセージが表示されます。
文字列「赤」からタイプ ColorDefinition の Map キーを構築できません: 有効な表現ではありません: 文字列「赤」からタイプ ColorDefinition のマップキーを構築できません: Enum クラスの値の 1 つではありません
。私はここで間違っていますか?受信した列挙型の値を適切に変換するには、列挙型クラスに他のメソッドが必要ですか? 列挙型の別の値を使用する必要がありますか (試してみましたが成功しませんでした)? 任意の助けをいただければ幸いです。これは、入力値を自動的に変換することが可能であるように思われますが、私にはわかりません!