Ну, допустим, я что-то понял (я же эксперт))...
Можно задавать формат даты в джейсоне таким образом:
1. Пишем свой конвертер.
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.type.TypeFactory;
import com.fasterxml.jackson.databind.util.Converter;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import static org.apache.http.util.TextUtils.isBlank;
public class CustomStringToLocalDateTimeConverter implements Converter<String, LocalDateTime> {
@Override
public LocalDateTime convert(String value) {
if (isBlank(value)) return null;
var formatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME; // Вот тут задается формат даты
return LocalDateTime.parse(value, formatter);
}
@Override
public JavaType getInputType(TypeFactory typeFactory) {
return typeFactory.constructType(String.class);
}
@Override
public JavaType getOutputType(TypeFactory typeFactory) {
return typeFactory.constructType(LocalDateTime.class);
}
}
2. Добавляем аннотацию над нужным полем:
class WithDate {
@JsonDeserialize(converter = CustomStringToLocalDateTimeConverter.class)
private LocalDateTime startTime;
}