java - 从rest api获取列表

标签 java spring-rest

我想从rest api 获取时区作为列表。我试过这个:

@GetMapping("timezone")
    public ResponseEntity<?> getTimezone() {
        return ResponseEntity.ok(timezoneService.getTimezoneList().entrySet().stream()
                .map(g -> new AcquirerTimezoneDTO(g.getKey())).collect(Collectors.toList()));
    }

DTO:

public class AcquirerTimezoneDTO {

    private String timezone;

    public AcquirerTimezoneDTO(String timezone) {
        this.timezone = timezone;
    }

    public String getTimezone() {
        return timezone;
    }

    public void setTimezone(String timezone) {
        this.timezone = timezone;
    }
}

服务:

@Service
public class TimezoneService {

    public List<String> getTimezoneList() {

        List<String> list = new ArrayList<>();  

        String[] allTimeZones = TimeZone.getAvailableIDs();

        Arrays.sort(allTimeZones);

        for (int i = 0; i < allTimeZones.length; i++) {
            list.add(allTimeZones[i]);
        }

        return list;
    }
}

但是我收到 .entrySet() 错误 方法entrySet() 对于类型List 未定义

你知道我该如何解决这个问题吗?

最佳答案

entrySet()Maps 拥有的方法,而不是 Lists 拥有的方法。

直接在列表上使用stream()方法,无需entrySet(),如下所示:

return ResponseEntity.ok(timezoneService.getTimezoneList().stream()
                .map(g -> new AcquirerTimezoneDTO(g.getKey())).collect(Collectors.toList()));

关于java - 从rest api获取列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54041089/

相关文章:

java - 在 Java 中添加没有 OAuth 的 Google 日历事件?

Java HTTP Post - 奇怪的流行为

java - 过滤或处理 OAuth2 中的 AuthenticationException

java - @WebMvcTest 测试类中的 UnsatisfiedDependencyException

java - 如何为 spring-rest 构建自定义 @Projections?

java - 仅检查用户输入

java - 类似于消息队列的解决方案,但用于运行作业而不是排队作业

mysql - 如何在 RESTful API 中从用户的电子邮件生成唯一的 UID?

java - Spring Data Rest JPA 休息服务与 hibernate : control lazy loading

rest - XmlElement(name ="custom_name") 在与休息服务集成的 Spring Boot 中不起作用