Можно ли вернуть список суперклассов в ресурсе и получить правильные подклассы на стороне клиента?(используя рестайзи) - PullRequest
0 голосов
/ 26 сентября 2019

Я получаю только список экземпляров суперкласса на стороне клиента.Я надеюсь, что jax-rs динамически создаст список различных типов, включая информацию о типе каждого объекта в JSON самого объекта, а затем создаст список правильных подтипов на стороне клиента ...

Iугадайте, это просто невозможно!но не понимаю, почему, как будто информация о типе добавляется к каждому объекту, это можно сделать ...

Заранее спасибо ...

1 Ответ

0 голосов
/ 27 сентября 2019

Итак, чтобы ответить на мой собственный вопрос, если вы используете resteasy с Джексоном для сериализации ваших данных в json и наоборот, следующая аннотация на суперклассе dto поможет:

@JsonTypeInfo(use= JsonTypeInfo.Id.CLASS, include= JsonTypeInfo.As.PROPERTY, 
    property="__class")

Любой, кто использует этоимейте в виду, что это не сработает, если вы вернете список / коллекцию ваших dtos, поскольку Джексон здесь пропускает информацию о типе и не может найти аннотацию, как описано здесь: https://github.com/FasterXML/jackson-databind/issues/336 и может быть легко решена с помощьюпользовательский ответ dto, владеющий списком ваших dtos ...

...