问题描述
在spring webclient中,我想在结果中反序列化响应
'''
Mono<Result<Lead>> result = webClient
.get()
.uri("/leads?page="+page)
.header(HttpHeaders.AUTHORIZATION,"Bearer " + tocken)
.retrieve().bodyToMono(Result<Lead>.class);
''' Result.class返回错误
在这种情况下我可以如何使用泛型?
解决方法
由于Spring不知道泛型类型,因此会将任何未知类型反序列化为LinkedHashMap。因此请使用 ParameterizedTypeReference 将JSON反序列化为Result的确切类型。 ParameterizedTypeReference 捕获通用类型并将其保留在运行时。
Mono<Result<Lead>> result = webClient
.get()
.uri("/leads?page="+page)
.header(HttpHeaders.AUTHORIZATION,"Bearer " + tocken)
.retrieve().bodyToMono(new ParameterizedTypeReference<Result<Lead>>(){
});;