Потенциальная проблема с DateTimeOffset Deserialization с использованием Olingo для JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Потенциальная проблема с DateTimeOffset Deserialization с использованием Olingo для Java

Сообщение Anonymous »

Я сталкиваюсь с проблемой с библиотекой Olingo, когда десериализация полезной нагрузки JSON в объекты ODATA, в частности, со свойствами типа edm.dateTimeOffset .
Вот есть Метод, который мы используем для десериализации, где str является полезной нагрузкой json:

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

public ClientEntity loadEntity(String str) throws ODataDeserializerException {
InputStream stream = new ByteArrayInputStream(str.getBytes(StandardCharsets.UTF_8));
return client.getBinder().getODataEntity(client.getDeserializer(ContentType.APPLICATION_JSON).toEntity(stream));
}
< /code>
Когда полезная нагрузка следующей: < /p>
{
"employeeHireDate": "2025-01-01T00:00:00Z"
}
Собственность работников детериализуется как edm.string вместо edm.dateTimeOffset . Однако, когда мы явно включаем аннотацию @odata.type :

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

{
"employeeHireDate": "2025-01-01T00:00:00Z",
"employeeHireDate@odata.type": "#Edm.DateTimeOffset"
}
Это правильно десериализован как edm.datetimeoffset .
Это поведение ожидается? Есть ли способ настроить Olingo для автоматического вывода типов, таких как DateTimeOffset, не требуя аннотации @Odata.Type в полезной нагрузке JSON? !
Спасибо
Добавление @odata.type аннотация к полезной нагрузке работает, но это не очень хороший подход, так как JSON приходит в службу динамически.

Подробнее здесь: https://stackoverflow.com/questions/793 ... o-for-java
Ответить

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

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

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

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

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