1

Change Lombok annotations to enable Jackson deserializing

This commit is contained in:
Christoph
2020-03-09 15:47:17 +01:00
parent 160e03d9e9
commit 4186e7c09c
7 changed files with 53 additions and 29 deletions

View File

@ -1,12 +1,28 @@
package mops.gruppen2.domain.event;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import lombok.Value;
import lombok.experimental.NonFinal;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
@Value
@NonFinal
@JsonTypeInfo(include = JsonTypeInfo.As.WRAPPER_OBJECT, use = JsonTypeInfo.Id.NAME)
@Getter
@NoArgsConstructor
@AllArgsConstructor
@JsonTypeInfo(
include = JsonTypeInfo.As.PROPERTY,
use = JsonTypeInfo.Id.NAME,
property = "type"
)
@JsonSubTypes({
@JsonSubTypes.Type(value = AddUserEvent.class, name = "AddUserEvent"),
@JsonSubTypes.Type(value = AddUserEvent.class, name = "CreateGroupEvent"),
@JsonSubTypes.Type(value = AddUserEvent.class, name = "DeleteUserEvent"),
@JsonSubTypes.Type(value = AddUserEvent.class, name = "UpdateGroupDescriptionEvent"),
@JsonSubTypes.Type(value = AddUserEvent.class, name = "UpdateGroupTitleEvent"),
@JsonSubTypes.Type(value = AddUserEvent.class, name = "UpdateRoleEvent"),
})
public class Event {
long event_id;
long group_id;