Потенциальная проблема с 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. аннотация к полезной нагрузке работает, но это не очень хороший подход, так как JSON приходит в службу динамически.

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

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

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

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

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

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