我没有看到这两种方法之间的主要时间复杂度差异,它们都具有工作魅力,我想了解这两种方法之间的主要差异是什么

我正在从服务中收集Student对象。

bodyToMono ParameterizedTypeReference

public Mono<Collection<Student>> getStudents(String id) {

    return webClient
         .get()
         .uri(uriBuilder -> uriBuilder
         .path("/students/{0}")
         .build(id))
         .retrieve()
         .onStatus(HttpStatus::isError, resp -> resp.createException()
             .map(WebClientGraphqlException::new)
             .flatMap(Mono::error)
         ).bodyToMono(new ParameterizedTypeReference<Collection<Student>>() {}); // This Line
  }


bodyToFlux收集器

public Mono<Collection<Student>> getStudents(String id) {

    return webClient
         .get()
         .uri(uriBuilder -> uriBuilder
         .path("/students/{0}")
         .build(id))
         .retrieve()
         .onStatus(HttpStatus::isError, resp -> resp.createException()
             .map(WebClientGraphqlException::new)
             .flatMap(Mono::error)
         ).bodyToFlux(Student.class).collect(Collectors.toList()); // This Line
  }

最佳答案

如果要检索单个项目,请使用bodyToMono。发射0-1件
对于多个项目,请使用bodyToFlux。它发射0-N个物品。

关于java - bodyToMono ParameterizedTypeReference和bodyToFlux有什么区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61814434/

10-12 06:09