у меня есть службы REST, который возвращает данные, выглядит следующим образом:Джексон и REST Android Аннотации: Deserialize JSON массив объектов
[
{ bookmark object json here },
{ bookmark object json here },
{ bookmark object json here },
...
]
Мой класс REST клиент выглядит следующим образом:
@Rest(rootUrl = Constants.ApiConfig.API_ROOT, converters = {MappingJackson2HttpMessageConverter.class})
public interface RestApiClient {
@Get("/bookmark/read?id={identifier}")
public BookmarkList getBookmarks(String identifier);
}
BookmarkList выглядит следующим образом:
public class BookmarkList {
List<Bookmark> bookmarks;
@JsonValue
public List<Bookmark> getBookmarks() {
return bookmarks;
}
@JsonCreator
public void BookmarkList(@NotNull List<Bookmark> bookmarks) {
this.bookmarks = bookmarks;
}
}
Однако, когда я использую эту настройку, я получаю следующее сообщение об ошибке:
Could not read JSON: Can not deserialize instance of com.whatever.entity.BookmarkList out of START_ARRAY token
То, что я хочу что-то вроде EventList например, в https://github.com/excilys/androidannotations/wiki/Rest-API#get, но это не похоже на работу для меня из коробки.
Есть ли способ заставить это работать?
Мне нравится это лучше, чем мое оригинальное решение, поскольку это позволяет более эффективно использовать сгенерированный код. – mwu
Я обновил [wiki] (https://github.com/excilys/androidannotations/wiki/Rest-API#parameterized-class), чтобы заменить упаковочное решение этим – DayS