我想创建一个数据数组列表,并通过 Rest 点返回它。我试过这个:@Servicepublic class CardBrandsListService { public ArrayList<String> getCardBrandsList() { ArrayList<String> list = new ArrayList<String>(); list.add("visa"); list.add("master"); list.add("Intl Maestro"); list.add("amex"); return list; }}休息终点:@GetMapping("/card_brand/list") public ResponseEntity<?> getCurruncy() { return ResponseEntity.ok(cardBrandsListService.getCardBrandsList().entrySet().stream() .map(g -> new CardBrandsListDTO(g.getValue())).collect(Collectors.toList())); }断续器:public class CardBrandsListDTO { private String card_brand; public String getCard_brand() { return card_brand; } public void setCard_brand(String card_brand) { this.card_brand = card_brand; }}但是我得到的错误:映射数组列表的正确方法是什么?The method entrySet() is undefined for the type ArrayList<String>
1 回答
BIG阳
TA贡献1859条经验 获得超6个赞
您的休息终端节点应如下所示:
@GetMapping("/card_brand/list")
public ResponseEntity<List<CardBrandsListDTO>> getCurruncy() {
return ResponseEntity.ok(cardBrandsListService.getCardBrandsList().stream()
.map(g -> new CardBrandsListDTO(g)).collect(Collectors.toList()));
您正在调用 ,用于获取 Map 对象的一组条目(您没有)。此外,在 map 函数中,您的变量是 String(因为您返回的是 ),因此您可以直接将其提供给构造函数。您也可以直接为 设置正确的类型。entrySet()gArrayList<String>ResponseEntity
更新:
您需要相应的构造函数:
public class CardBrandsListDTO {
private String card_brand;
public CarBrandsListDTO(String card_brand) {
this.car_brand = car_brand;
}
//getter and setter
}
顺便说一句,我建议您重命名DTO(为了便于理解)以及其中的字段(遵循命名约定)
添加回答
举报
0/150
提交
取消