Size: a a a

Java/Kotlin Web and more

2020 November 03

 P

 ‌‌Gleb Pilipets... in Java/Kotlin Web and more
Ruslan Stelmachenko
Вообще в спринге это все работает из коробки, т.к. там есть https://github.com/spring-projects/spring-framework/blob/master/spring-core/src/main/java/org/springframework/core/convert/support/StringToUUIDConverter.java и он кажется даже зарегистрирован по умолчанию (точно не уверен).

Проверьте, что у вас на аргументе есть @RequestParam
не было RequestParam - теперь работает.

Просто смотрел по этому примеру, где его тоже не было...
https://lankydan.dev/2017/03/11/passing-data-transfer-objects-with-get-in-spring-boot
источник

БТ

Бекмамбет Трахтенбер... in Java/Kotlin Web and more
Ruslan Stelmachenko
Для этого в спринг и существует концепция Converter. Если данный конвертер зарегистрирован (а я почти уверен, что это так), то спринг использует его и сделает то, что написано в методе convert, поэтому конструктор не нужен.
Я уже понял, не видел, что есть в спринге уже зарегистрированный конвертер, но все же понимать как работает автоматический маппинг тоже стоит
источник

RS

Ruslan Stelmachenko in Java/Kotlin Web and more
Это потому, что (как написано вот тут https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-ann-requestparam)

> Note that use of @RequestParam is optional (for example, to set its attributes). By default, any argument that is a simple value type (as determined by BeanUtils#isSimpleProperty) and is not resolved by any other argument resolver, is treated as if it were annotated with @RequestParam.

UUID это не simple value type (как и почти любой объект, кроме некоторых типов), поэтому для него @RequestParam обязателен. Если не указать, спринг будет воспринимать его, как ДТО, и пытаться биндить отдельно его проперти.
источник

 P

 ‌‌Gleb Pilipets... in Java/Kotlin Web and more
Ruslan Stelmachenko
Это потому, что (как написано вот тут https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-ann-requestparam)

> Note that use of @RequestParam is optional (for example, to set its attributes). By default, any argument that is a simple value type (as determined by BeanUtils#isSimpleProperty) and is not resolved by any other argument resolver, is treated as if it were annotated with @RequestParam.

UUID это не simple value type (как и почти любой объект, кроме некоторых типов), поэтому для него @RequestParam обязателен. Если не указать, спринг будет воспринимать его, как ДТО, и пытаться биндить отдельно его проперти.
Я понял, спасибо
источник

p

p4r53c in Java/Kotlin Web and more
Ruslan Stelmachenko
Это потому, что (как написано вот тут https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-ann-requestparam)

> Note that use of @RequestParam is optional (for example, to set its attributes). By default, any argument that is a simple value type (as determined by BeanUtils#isSimpleProperty) and is not resolved by any other argument resolver, is treated as if it were annotated with @RequestParam.

UUID это не simple value type (как и почти любой объект, кроме некоторых типов), поэтому для него @RequestParam обязателен. Если не указать, спринг будет воспринимать его, как ДТО, и пытаться биндить отдельно его проперти.
🤔 Благодарю)
источник

ZR

Ziber Ratch in Java/Kotlin Web and more
Всем привет) столкнулся с проблемой при написании кода c criteria api. Залил  на стаковерфлоу, но чет особо никто не откликнулся( Мб кто сталкивался с подобным кейсом ? https://stackoverflow.com/questions/64657744/how-to-make-left-join-criteria-api-in-spring-with-manytoone
источник

ЮЮ

Юрий Юрий in Java/Kotlin Web and more
Здравствуйте.
В Spring Boot или в какой-нибудь вспомогающей библиотеке есть возможность получить url сервера и порт?
источник

АВ

Алексей Васин... in Java/Kotlin Web and more
всем привет) никто случайно не знает сколько раз будет происходить вычитывание сообщения из топика, при использовании @KafkaListener, с дефолтными настройками, в случае возникновения эксепшена в методе, где вычитывается сообщение?
источник

НК

Никита Кальнов... in Java/Kotlin Web and more
Ziber Ratch
Всем привет) столкнулся с проблемой при написании кода c criteria api. Залил  на стаковерфлоу, но чет особо никто не откликнулся( Мб кто сталкивался с подобным кейсом ? https://stackoverflow.com/questions/64657744/how-to-make-left-join-criteria-api-in-spring-with-manytoone
вам там вроде в комментарии всё правильно сказали) у вас root - это User, а должен быть Item
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
Юрий Юрий
Здравствуйте.
В Spring Boot или в какой-нибудь вспомогающей библиотеке есть возможность получить url сервера и порт?
С какой целью?
источник

ЮЮ

Юрий Юрий in Java/Kotlin Web and more
Alexandr Emelyanov
С какой целью?
c целью возвращать пользователю готовый полный url для другого метода контроллера
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
Юрий Юрий
c целью возвращать пользователю готовый полный url для другого метода контроллера
так достаточно просто путь от корня
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
и для этого вообще есть готовый hateoas
источник

C

Cyclone in Java/Kotlin Web and more
Сервер приложений может вообще не знать и скорее всего не знает, по какому адресу к нему юзеры ходят.
Например, если нужно сформировать абсолютный урл и отправить его по email, без дополнительных танцев не обойтись.
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
Cyclone
Сервер приложений может вообще не знать и скорее всего не знает, по какому адресу к нему юзеры ходят.
Например, если нужно сформировать абсолютный урл и отправить его по email, без дополнительных танцев не обойтись.
ну танцы не особо понадобится, просто в настройки вносится внешинй адрес сервера)
источник

C

Cyclone in Java/Kotlin Web and more
Alexandr Emelyanov
ну танцы не особо понадобится, просто в настройки вносится внешинй адрес сервера)
Как минимум, да.
Ну то есть кто-то должен серверу адрес сообщить, он сам не узнает.
источник

AK

Anton Krasnov in Java/Kotlin Web and more
Я вытягиваю из JPA репозитория сразу DTO
   @Query("SELECT new SensorValue(w.timestamp, w.airTemperature) " +
           "FROM Weather w " +
           "WHERE w.timestamp BETWEEN :begin AND :end")
   List<SensorValue> findAllTempByPeriod(@Param("begin") LocalDateTime begin,
                                         @Param("end") LocalDateTime end);

как мне сделать тоже самое на Kotlin ?
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
Anton Krasnov
Я вытягиваю из JPA репозитория сразу DTO
   @Query("SELECT new SensorValue(w.timestamp, w.airTemperature) " +
           "FROM Weather w " +
           "WHERE w.timestamp BETWEEN :begin AND :end")
   List<SensorValue> findAllTempByPeriod(@Param("begin") LocalDateTime begin,
                                         @Param("end") LocalDateTime end);

как мне сделать тоже самое на Kotlin ?
точно так же
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
но тут я бы вообще взял spring data projections
источник

AK

Anton Krasnov in Java/Kotlin Web and more
спасибо
источник