Spring Boot игнорирует @XmlJavaTypeAdapterJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Spring Boot игнорирует @XmlJavaTypeAdapter

Сообщение Anonymous »

У меня есть элемент даты с аннотацией jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter

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

@XmlJavaTypeAdapter(LocalDateTimeAdapter.class)
private LocalDateTime mydate;
Когда я отправляю тело XML в свой сервис

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

...
2025-10-15 09:49:54
...
у меня возникла ошибка:

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

Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.time.LocalDateTime` from String "2025-10-15 09:49:54"
Это потому, что Spring Boot использует Jackson, а не мой адаптер JaxB.
Как настроить Spring Boot для использования моего адаптера JaxB?
Вот мой адаптер:

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

public class LocalDateTimeAdapter extends XmlAdapter {

private static final DateTimeFormatter STANDARD_DATETIME_PATTERN = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

public LocalDateTime unmarshal(String value) {
try {
return LocalDateTime.parse(value, STANDARD_DATETIME_PATTERN);
} catch (Exception e) {
throw new MyException(e.getMessage(), e);
}
}

public String marshal(LocalDateTime localDateTime) {
try {
return localDateTime.format(STANDARD_DATETIME_PATTERN);
} catch (Exception e) {
throw new MyException(e.getMessage(), e);
}
}
}
У вас есть идеи? Спасибо большое

Подробнее здесь: https://stackoverflow.com/questions/797 ... ypeadapter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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