目标: List<User>
每个用户dto我只想返回id和name
格式应为:
[
{
"id": 1,
"name": "ruben"
},
{
"id": 2,
"name": null
}
]
我的尝试:
List<Users> userList = null;
Map<String, String> resultMap=new HashMap<>();
try {
userList = userRepository.findAllUserTitle();
userList.parallelStream().forEach(p->{
resultMap.put("id", String.valueOf(p.getId()));
resultMap.put("title", p.getTitle());
});
[注:是否可以使用流平面图或任何其他解决方案来实现此目的,请提供,我也不想创建任何其他dto。
当前,您为每个用户使用相同的地图。
使用List<Map<String, String>>
,其中Map<String, String>
代表每个用户id
和name
数据
List<Map<String, String>> result=new ArrayList<>(); // Create a list of map for result
List<Users> userList= userRepository.findAllUserTitle();
userList.parallelStream().forEach(p->{
Map<String, String> resultMap=new HashMap<>();
resultMap.put("id", String.valueOf(p.getId()));
resultMap.put("title", p.getTitle());
result.add(resultMap); // for every user info map add in list.
});