Преобразование строки в дату для Graphql при весенней загрузке 3.5JAVA

Программисты JAVA общаются здесь
Anonymous
Преобразование строки в дату для Graphql при весенней загрузке 3.5

Сообщение Anonymous »

Я переношу приложение Spring Boot с версии 2.6.6 на 3.5.0 и обновляю JDK с 17 до 21.
Ранее я использовал зависимость Graphql-kickstart, но заменил ее встроенной зависимостью Spring Boot GraphQL.
Есть кое-что, с чем мне удалось сделать graphql-kickstart, что я не могу сделать с новой зависимостью.
Ранее у меня была следующая настройка:
file.graphqls

Код: Выделить всё

myFunction(dateField: String): OutputDTO
file.java

Код: Выделить всё

public OutputDTO myFunction(Date dateField) { ... }
После миграции Spring Boot и зависимости GraphQL мой Java-код теперь выглядит так:

Код: Выделить всё

@QueryMapping
public OutputDTO myFunction(@Argument Date dateField) { ... }
При запуске я получаю следующую ошибку:

Код: Выделить всё

ERROR 98421 --- [nio-8082-exec-2] s.g.e.ExceptionResolversExceptionHandler :  Unresolved BindException for executionId d1ee4d2c-8c2c-3f75-0833-f925fea8e154

org.springframework.validation.BindException: org.springframework.graphql.data.GraphQlArgumentBinder$ArgumentsBindingResult: 1 errors
Field error in object 'date' on field '$': rejected value [2025-04-16T09:37:58Z]; codes [typeMismatch.date,typeMismatch]; arguments []; default message [Failed to convert argument value]
at org.springframework.graphql.data.GraphQlArgumentBinder.bind(GraphQlArgumentBinder.java:151)
...
Есть ли способ исправить это, не изменяя весь существующий код?

Подробнее здесь: https://stackoverflow.com/questions/797 ... g-boot-3-5

Вернуться в «JAVA»