0

レガシーシステムから供給されるため、フィールドを表すかなり非標準的な方法を持つインターフェイスを考え出そうとしています。このインターフェイスには、次のようなカスタム検証+変換が必要なようです

  • 指定された長さを超える文字列値の切り捨て (例: 場合によっては 25 文字を超えて文字列を切り捨てる場合もあれば、15 文字を超えて切り捨てる場合もあります)
  • 文字列の日付フィールドがフォーマットされていることを検証し、セッターYYYMMDDでフォーマットの日付フィールドに変換しますyyyy-MM-dd

を使用してこれを行うことができるカスタム注釈を思いつくにはどうすればよい@interfaceですか? 見つけることができまし@Constraint(validatedBy=someclass.class)たが、データを変換するものはないようです (または、十分に調べていない場合は申し訳ありません)。これに関するポインタは役に立ちます。

4

1 に答える 1

0

Java では、Jackson アノテーション付きオブジェクトで「変換された」DataType を使用するだけです。次に例を示します。

 private TransformedData data;

次に、文字列を受け入れて「TransformedData」オブジェクトを返すデシリアライザーで Jackson を構成します。Jackson がデータ フィールドに入力しようとすると、変換が必要であることに気づき、デシリアライザーを呼び出します。

于 2016-07-06T11:25:39.957 に答える