Mapstruct - Картирование вложенных объектов с массивом?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Mapstruct - Картирование вложенных объектов с массивом?

Сообщение Anonymous »

input
У меня есть эти pageanddata объект как target mapstruct
public class PageAndData {
Page page;
List data;
}
public class Page {
private int size;
private int totalPages;
}
public class Data{
Integer id;
String name;
List wallets;
}
public Wallet{
Integer walletId;
String walletName;
}

У меня есть эти searchresult как source
public class SearchResult{
PageInfo pageInfo;
List pageData;
}
public class PageInfo{
private int size;
private int totalPages;
}
public class PageData{
Integer id;
String name;
List bags;
}
public Bag{
Integer bagId;
String bagName;
}

Вопрос
с использованием mapstruct для карты значений из SearchResult-> pageAnddata

@Mapper // current impl, partailly ok
public interface searchResultToPageAndData{

@Mapping(source = "pageInfo", target = "info")
@Mapping(source = "pageData", target = "data")

PageAndData mymap(SearchResult searchResult);

}

woutput Ownation
Значения от searchresult должны перейти на PageAndData , ожидаемое отображение
//
SearchResult.pageInfo.size -> PageAndData.info.size
SearchResult.pageInfo.totalPages -> PageAndData.info.totalPages
SearchResult.PageData.id -> PageAndData.data.id
SearchResult.PageData.name -> PageAndData.data.name
SearchResult.PageData.bag -> PageAndData.data.id.wallet
//for every element of array
SearchResult.PageData.bag.bagId -> PageAndData.data.id.walletId
SearchResult.PageData.bag.bagName -> PageAndData.data.id.walletName

Пример:
Я должен получить данные из сумки на кошелек с изменением ключевого имени сумки на кошелек с изменением вложенных ключевых имено.SearchResult{
pageInfo{
size : 5
totalPages : 10
}
pageData{
id : 1
name : "Page101"
bag:[
{
bagId : 1
bagName : "bagname"
}
]
}
}
This shud get mapped to
PageAndData{
info{
size : 5
totalPages : 10
}
data{
id : 1
name : "Page101"
wallet:[
{
walletId : 1
walletName : "bagname"
}
]
}
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... ving-array
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»