ObjectMapper Пользовательский сериализатор для сериализации объекта List<User> в User

У меня есть объекты модели группы и пользователя.

       public class Group {
            List<User> user;
        }
    
        public class User {
            String title;
        }

Я использую Джексона для сериализации этого группового объекта. Я хочу вернуть в ответ один объект User вместо возврата массива. В общем, я хочу конвертироватьпользователю, чтобы отправить пользователя как объект в ответе json вместо списка. Я не могу использовать аннотацию @Jsonserelize для сериализации данных списка в объект, поскольку модальные объекты генерируются из внешней схемы.

Я знаю, что могу использовать аннотацию ниже для применения конвертера, но, к сожалению, в моем случае модальные классы генерируются из внешней схемы, и у меня нет возможности добавить аннотацию ниже.

      @JsonSerialize(converter = ListUserConverter.class)
List<User> user;

Я подумал, что могу добавить что-то вроде приведенного ниже, но время компиляции получается, и похоже, что оно не поддерживается для списка определенного типа.

       simpleModule.addSerializer(List<User>.class, new StdDelegatingSerializer(new ListUserConverter()));

public class ListUserConverter extends StdConverter<List<User>, User> {
    @Override
    public User convert(List<User> users) {
        return users.get(0);
    }
}

Есть ли другой способ применить специальный список конвертера для преобразования списка в объект?

Как сериализовать только список для пользователя (получить первый объект из списка) без использования аннотаций?

0 ответов

Другие вопросы по тегам