ジャクソン& JSONをデシリアライズするのが初めてです。 I "メートルメッセージプロセッサを作成し、次のようなものを持ってしようとしている:ジャクソンJSONの使用w /ネストされたクラスでデシリアライズしますか?
@JsonDeserialize(builder = TestMessage.TestMessageBuilder.class)
private static class TestMessage {
@Nonnull
private Long timestamp;
@Nonnull
private String regionId;
@Nonnull
private String userId;
@Nonnull
private String action;
@Nonnull
private TestMessageMetadata metadata;
@JsonPOJOBuilder(withPrefix = "")
public static class TestMessageBuilder {}
}
問題は、メッセージがでてくるアクションタイプの種類に応じて、TestMessageMetadataのいずれかが必要になりますということですたとえば、actionが "stream"の場合、TestMessageMetadataはTestMessageStreamMetadataタイプである必要があります。TestMessageMetadataの各サブクラスには異なる属性があります(TestMessageStreamMetadataには "stream"タイプのみに適用される4つのフィールドがあります)。他のアクションでは、そのタイプのアクションだけに適用されるフィールドが1つしかないかもしれません)
プロセッサは、この1つのメッセージングクラス全体を持つ必要があります。したがって、複数のアクションタイプを処理するにはどうすればよいですか?ヘルプは非常に高く評価されるだろう!