3 回答

TA贡献1830条经验 获得超9个赞
那是因为CrudRepository#findAll返回 anIterable而不是 a List。因此,您要么(1)更改方法签名以返回 anIterable或者您 (2)将元素复制到 aList并返回它。
(1) 返回Iterable:
public Iterable<PersonInfo> printPersonInfo() {
return personRepo.findAll();
}
(2) 将元素复制到 aList并返回列表。
public List<PersonInfo> printPersonInfo() {
List<PersonInfo> list = new ArrayList<>();
personRepo.findAll().forEach(list::add);
return list;
}

TA贡献1846条经验 获得超7个赞
@Autowired
PersonInfoRepository personRepo;
@ResponseBody
@GetMapping("/people")
public List printPersonInfo() {
List < PersonInfo > people = personRepo.findAll();
System.out.println(people.toString());
return people;
}
在这部分代码中,您没有初始化(强制转换更好)您的控制器变量
你可以很容易地用List<PersonInfo>afterpeople =

TA贡献1842条经验 获得超13个赞
public List<PersonInfo> printPersonInfo() {
List<PersonInfo> people = personRepo.findAll()
.stream()
.collect(Collectors.toList());
System.out.println(people.toString());
return people ;
}
添加回答
举报