Size: a a a

Java Web and more

2020 August 16

AE

Alexandr Emelyanov in Java Web and more
Oleg Pavl
У энтити LocalDate date, у дто Long date. Нет никакой библиотеки удобной без реализаций непонятных интерфейсов и прочей лабуды? Чтобы удобно конфигурить было.
Это вообще не конвертируемые значения
источник

AE

Alexandr Emelyanov in Java Web and more
Роман Нагаев
я руками гоняю, не нашёл способа лучше
Через захардкоженные значения зоны и времени?
источник

AE

Alexandr Emelyanov in Java Web and more
Роман Нагаев
но можешь посмотреть mapstruct, modelmapper и beanutils из apache commons
Они не реализуют такой маппинг ибо указанные значения не конвертируемы
источник

AE

Alexandr Emelyanov in Java Web and more
Cyclone
Чуваки, хочу в RestController принять кастомный объект в дополнение к другим параметрам.

Допустим, сейчас есть:
@RestController {
@GetMapping MyResponse get(
@RequestParam("country_name") String countryName
, @RequestParam("country_id") int countryId
, @RequestParam String anotherParam) { ...

Хочу сгруппировать два country-атрибута в объект Country.

@Data class Country { String countryName; int countryId; }

@RestController {

@GetMapping MyResponse get(
Country country
, @RequestParam String anotherParam) { ...

И это работает, если параметры запросе имеют точно такое именование - countryName и countryId, но вот у меня они называются через подчёркивания country_name и country_id - и так не работает. @JsonProperty("country_id") в классе Country не помогает. Не пойму, как настроить биндинг.

Нагуглил HandlerMethodArgumentResolver - вроде бы, должно помочь, но мне кажется, должен быть метод указать спрингу альтернативные названия параметров попроще.
@RequestParam не вешается на проперти?
источник

AE

Alexandr Emelyanov in Java Web and more
Роман Нагаев
а чем toEpochSecond() не устроила?
Как и ожидалось этого метода нет
источник

AE

Alexandr Emelyanov in Java Web and more
Alexandr Emelyanov
@RequestParam не вешается на проперти?
Не вешается, идей нет
источник

OP

Oleg Pavl in Java Web and more
Alexandr Emelyanov
Это вообще не конвертируемые значения
А что делать, если на фронте нужно с датой работать?
источник

OP

Oleg Pavl in Java Web and more
В каком виде тогда вообще принято дату на фронт пробрасывать?
источник

AE

Alexandr Emelyanov in Java Web and more
Oleg Pavl
А что делать, если на фронте нужно с датой работать?
Передавать строкой в ISO, там через moment, к примеру
источник

OP

Oleg Pavl in Java Web and more
Alexandr Emelyanov
Передавать строкой в ISO, там через moment, к примеру
А потом строку парсить и конвертить в дату используемую на стороне фронта? У меня на фронте ангуляр. У тайпскрипта формат даты отличается от джавовской.
источник

AE

Alexandr Emelyanov in Java Web and more
Oleg Pavl
А потом строку парсить и конвертить в дату используемую на стороне фронта? У меня на фронте ангуляр. У тайпскрипта формат даты отличается от джавовской.
Чем он отличается? И там и там iso
источник

AE

Alexandr Emelyanov in Java Web and more
И обычно на фронте с ангуляр используют momentjs
источник

OP

Oleg Pavl in Java Web and more
Alexandr Emelyanov
Чем он отличается? И там и там iso
Точно, только в ангуляре console.log(new Date().toISOString()); возвращает 2020-08-16T16:13:47.438Z, и LocalDateTime не понимает последний символ Z. Если его отбросить, то норм парсится.
источник

OP

Oleg Pavl in Java Web and more
Alexandr Emelyanov
Чем он отличается? И там и там iso
Спасибо)
источник

AE

Alexandr Emelyanov in Java Web and more
Oleg Pavl
Точно, только в ангуляре console.log(new Date().toISOString()); возвращает 2020-08-16T16:13:47.438Z, и LocalDateTime не понимает последний символ Z. Если его отбросить, то норм парсится.
Так зачем LocalDateTime? Бери OffsetDateTime
источник

AE

Alexandr Emelyanov in Java Web and more
Oleg Pavl
Точно, только в ангуляре console.log(new Date().toISOString()); возвращает 2020-08-16T16:13:47.438Z, и LocalDateTime не понимает последний символ Z. Если его отбросить, то норм парсится.
Вообще применение LocalDateTime очень ограничено и должно быть обоснованно
источник

OP

Oleg Pavl in Java Web and more
Alexandr Emelyanov
Вообще применение LocalDateTime очень ограничено и должно быть обоснованно
С OffsetDateTime не знаком и переделывать все уже некогда(
источник

AE

Alexandr Emelyanov in Java Web and more
Oleg Pavl
С OffsetDateTime не знаком и переделывать все уже некогда(
Почитай про классы java.time, на Хабре была отличная статья
источник

РН

Роман Нагаев... in Java Web and more
Alexandr Emelyanov
Как и ожидалось этого метода нет
есть у него такой метод, просто описан в родителе
https://docs.oracle.com/javase/8/docs/api/java/time/chrono/ChronoLocalDateTime.html
источник

AE

Alexandr Emelyanov in Java Web and more
Скорее всего применение ldt не обоснованно
источник