Я работаю над приложением rest api, и у меня есть некоторые проблемы с кодом. Я хочу вернуть объект, который расширяет схему avro и добавляет ссылки HATEOAS к ответу. Я провел некоторое исследование, и, как оказалось, мне нужен собственный сериализатор для объекта.
Часть кода, который проблематичен c:
@JsonValue
public String serialize() throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
return mapper.writeValueAsString(this);
}
Это возвращает
Не могу написать JSON: Не перечисление.
Текущий объект является расширением схемы avro. Я также пытался:
@JsonValue
public String serialize() throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
return mapper.writeValueAsString(getUserData());
}
Возвращает:
Не удалось записать JSON: Не массив
Где пользовательские данные являются фактическими авро объект. Я не понимаю, что означают эти ошибки. Может кто-нибудь объяснить? Кроме того, есть ли лучший способ вернуть объект avro в сочетании с другими параметрами?
Спасибо
РЕДАКТИРОВАТЬ:
Вот полный пример:
public class PaginatedUserData extends UserDataAvro {
@JsonValue
public String serialize() throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
HashMap<String, String> map = new HashMap<>();
map.put("test", "5");
return mapper.writeValueAsString(map);
}
}
Возвращает:
Невозможно записать JSON: не массив