1

コントローラーサービスモデルと検証でSpring Webを使用しています。Color オブジェクトと Color サービスがあります。

@Data
public class Color {
    private String name;
    private long value;
    private int rating;
}

コントローラーの 1 つで、オブジェクトを受け入れています。

public class NewEventRequest {
  @NotNull
  @Size(min = 5, max = 30)
  private String eventName;

  /* @ValidColor */
  private Color eventColor;
  // private String eventColor;
}

ご覧のとおり、eventColorサブプロパティのタイプはColorです。ただし、送信者が色の名前だけを送信できるようにしたいです (色は多くなく、とにかくメモリにキャッシュされています)。

文字列型の色とバリデーターを使用して色が存在することを確認できることは知っていますが、それを Color にキャストする方法はありますか?

4

2 に答える 2

0

JSONペイロードがモデルに適合しない場合は、カスタム デシリアライザーまたはコンバーターインターフェイスJavaを実装する必要があります。次の例を見てください。

于 2020-03-14T15:31:31.153 に答える