我没有看到这两种方法之间的主要时间复杂度差异,它们都具有工作魅力,我想了解这两种方法之间的主要差异是什么
我正在从服务中收集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/