Для моего API я анализирую объект и создаю свой объект с помощью Lombok Builder.Одной из переменных является «ArrivalTime» типа LocalDateTime, который, конечно, может быть нулевым.
Раньше я имел его так:
visits.add(visit.builder()
.arrivalTime(legacyVisit.getArrivalTime() == null ? null :
LocalDateTime.parse(legacyVisit.getArrivalTime(), ISO_OFFSET_DATE_TIME))
Но я смотрю налучший способ сделать это, может быть, с помощью опции vavr?Но я сталкиваюсь с проблемами.Я понимаю, что я помещаю в "map" логику, если она не равна нулю, и в "get" логику, если она равна нулю.Но я не могу получить (ноль).Если значением Arrival является NULL, я хочу оставить его равным NULL.
visits.add(visit.builder()
.arrivalTime(Option.of(legacyVisit.getArrivalTime())
.map(p -> LocalDateTime.parse(p, ISO_OFFSET_DATE_TIME)))
Я также пытался преобразовать мою переменную прибытие в моем объекте в Option, но я просто отправляю объект как ответ в своем API, и он превращается в что-то вроде этого:
"arrivalTime": {
"empty": true,
"lazy": false,
"singleValued": true,
"async": false,
"defined": false,
"orNull": null
},
что очень некрасиво.Есть идеи?