Не удалось записать JSON: тип даты/времени Java 8 `java.time.OffsetDateTime` не поддерживается по умолчанию SpringBootJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Не удалось записать JSON: тип даты/времени Java 8 `java.time.OffsetDateTime` не поддерживается по умолчанию SpringBoot

Сообщение Anonymous »

Я получаю сообщение об ошибке: Не удалось записать JSON: тип даты/времени Java 8 java.time.OffsetDateTime не поддерживается по умолчанию: добавьте модуль «com.fasterxml.jackson.datatype:jackson-datatype-jsr310» чтобы включить обработку. Но я уже добавил этот модуль и настроил его, по мнению всех в Интернете, правильно, но он не работает.
Я зарегистрировал модуль времени по адресу:

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

@Configuration
public class JacksonConfiguration {

@Bean
@Primary
public ObjectMapper objectMapper() {
ObjectMapper mapper = JsonMapper.builder()
.addModule(new JavaTimeModule())
.build();
return mapper;
}
}
И я импортировал модуль в свой pom.xml:

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

        
com.fasterxml.jackson.datatype
jackson-datatype-jsr310
2.17.2


com.fasterxml.jackson.datatype
jackson-datatype-jdk8

Я запустил ObjectMapper.findModules(); и он находит модуль. Я также добавил точку останова, чтобы проверить, запущен ли Objectmapper и так ли это. Но я все еще получаю сообщение об ошибке: Не удалось написать JSON: тип даты/времени Java 8 java.time.OffsetDateTime не поддерживается по умолчанию: добавьте модуль «com.fasterxml.jackson.datatype: jackson-datatype-jsr310», чтобы включить обработка
на этом этапе:

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

PlannedMaintenance maintenance = new PlannedMaintenance();
maintenance.setEquipmentId(Long.parseLong(equipmentId));
maintenance.setPlannedStartTime(plannedStartTime);
maintenance.setPlannedEndTime(plannedEndTime);
maintenance.setCreated(OffsetDateTime.now());

boolean isInserted = plannedMaintenanceDAO.save(maintenance);
StompHeaders replyHeaders = new StompHeaders();
replyHeaders.add("status", isInserted ? "success" : "error");
replyHeaders.add("correlation-id", headers.get("correlation-id").get(0));

List maintenanceReturn = plannedMaintenanceDAO.findAll();
stompService.sendMessage(headers.get("reply-to").get(0), maintenanceReturn, replyHeaders);
С моделью PlannedMaintenance:

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

 @Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "PK")
private Long id;

@Column(name = "PLANNED_START_TIME", nullable = false)
private OffsetDateTime plannedStartTime;

@Column(name = "PLANNED_STOP_TIME", nullable = false)
private OffsetDateTime plannedEndTime;

@Column(name = "ACTUAL_END_TIME")
private OffsetDateTime actualEndTime;

@Column(name = "CREATED", nullable = false, updatable = false)
private OffsetDateTime created;

@Column(name = "UPDATED")
private OffsetDateTime updated;

@Column(name = "EQUIPMENT_ID", nullable = false)
private Long equipmentId;
Я пробовал 4 разные версии JacksonConfig, я пробовал разные версии модуля, но ничего не помогло, и никто из других людей в Интернете не дал мне работающего решения .
Я использую SpringBoot 3.1.10


Подробнее здесь: https://stackoverflow.com/questions/791 ... -not-suppo
Ответить

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

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

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

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

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