Closed ChrisHartarski closed 3 months ago
:rocket: Успешно и приятно програмиране! :rocket:
Здравей! Още съм си тук, утре заминавам. Вчера правихме github action с auto reply :-)
За нещастие не можеш. И аз бях леко озадачен :-) Лесен workaround е да си направиш един прост клас който да десериализираш вместо това:
public class PageData<T> {
private List<T> content;
private PageMetadata page;
public List<T> getContent() {
return content;
}
public PageData<T> setContent(List<T> content) {
this.content = content;
return this;
}
public PageMetadata getPage() {
return page;
}
public PageData<T> setPage(PageMetadata page) {
this.page = page;
return this;
}
}
PageMetadata
е вътрешен публичен клас от PagedModel
. Можеш да си нащракаш и разни методчета вътре, ако е необходимо:
public boolean isFirst() {
return page.number() == 0;
}
public boolean isLast() {
return page.number() >= page.totalPages() - 1;
}
public boolean hasPrevious() {
return !isFirst() && page.totalPages() > 1;
}
public boolean hasNext() {
return !isLast() && page.totalPages() > 1;
}
Изненадата с PagedModel
e прясна прясна, в 3.3.0 хвърлиха бомбата.
Поздрави, Л.
Здравей,
Благодаря за отговора и приятна почивка.
Поровичках се един ден в нета и пробвах и ChatGPT. Решението, до което стигнах е: 1) В контролера на body му давам да получава String.class 2) след това се прави клас PagedModelDeserializer, който казва как да се десериализира String-а. 3) след това с ObjectMapper се мап-ва String към PagedModel.
Не знам дали е най-чистия начин, но за сега работи.
Май с къстъм клас ми изглежда по простичко, знам ли :-)
Поздрави, Л.
основен проект: https://github.com/ChrisHartarski/MagnaTechnica-WebShop-SoftUniProject REST service: https://github.com/ChrisHartarski/MagnaTechnica-WebShop-Machines-SoftUniProject
Кратко описание:
Възможно най-накратко опишете:
org.springframework.data.web.PagedModel
(no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)"Стъпки за репродуциране: За да се генерират машини в базата: Login -> User: admin@example.com Pass:asdasd -> Admin Panel -> Initialize Mock DB Получавам грешка, когато се опирам да достъпя Machines таб-а, защото не може да десериализира PagedModel<>.