3 回答

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊
那是因?yàn)镃rudRepository#findAll返回 anIterable而不是 a List。因此,您要么(1)更改方法簽名以返回 anIterable或者您 (2)將元素復(fù)制到 aList并返回它。
(1) 返回Iterable:
public Iterable<PersonInfo> printPersonInfo() {
return personRepo.findAll();
}
(2) 將元素復(fù)制到 aList并返回列表。
public List<PersonInfo> printPersonInfo() {
List<PersonInfo> list = new ArrayList<>();
personRepo.findAll().forEach(list::add);
return list;
}

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊
@Autowired
PersonInfoRepository personRepo;
@ResponseBody
@GetMapping("/people")
public List printPersonInfo() {
List < PersonInfo > people = personRepo.findAll();
System.out.println(people.toString());
return people;
}
在這部分代碼中,您沒有初始化(強(qiáng)制轉(zhuǎn)換更好)您的控制器變量
你可以很容易地用List<PersonInfo>afterpeople =

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊
public List<PersonInfo> printPersonInfo() {
List<PersonInfo> people = personRepo.findAll()
.stream()
.collect(Collectors.toList());
System.out.println(people.toString());
return people ;
}
添加回答
舉報(bào)