- Spring for Apache Kafka
- Lombok
JSON Serializer (Spring Web 을 포함할 경우 jackson 은 따로 포함하지 않아도 됨)
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
</dependency>
private ObjectMapper objectMapper = new ObjectMapper().registerModule(new JavaTimeModule());
public class CustomLocalDateSerializer extends StdSerializer<LocalDate> {
private static final long serialVersionUID = 1L;
private static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MMM-dd");
public CustomLocalDateSerializer() {
this(null);
}
public CustomLocalDateSerializer(Class<LocalDate> t) {
super(t);
}
@Override
public void serialize(LocalDate value, JsonGenerator gen, SerializerProvider arg2)
throws IOException, JsonProcessingException {
gen.writeString(formatter.format(value));
}
}
public class CustomLocalDateDeserializer extends StdDeserializer<LocalDate> {
private static final long serialVersionUID = 1L;
private static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MMM-dd");
public CustomLocalDateDeserializer() {
super(LocalDate.class);
}
@Override
public LocalDate deserialize(JsonParser parser, DeserializationContext context) throws IOException {
return LocalDate.parse(parser.readValueAs(String.class), formatter);
}
}