小编Pat*_*ckx的帖子

Java Rest 客户端 bodyToMono 通用

我的应用程序有一些针对不同休息端点的服务。逻辑总是相同的,所以我想使用继承和泛型来避免代码重复。但一行(bodyToMono(E[].class))不起作用。我不明白还有其他选择(也许是最佳实践方式)吗?

家长班级:

@Configuration
@Service
public abstract class AbstractEntitiesRestService<E>{

   protected abstract String getBaseUrl();

   @Autowired
   @Qualifier("webClient")
   protected WebClient WebClient;

    @Override
    public E[] getObjectsFromCustomQueryImpl(CustomQuery query) {
        return jtWebClient.get()
                .uri(getBaseUrl())
                .retrieve()
                .bodyToMono(E[].class) <---- Error!
                .block();
    }
}
Run Code Online (Sandbox Code Playgroud)

儿童班:

@Configuration
@Service
public class UserService extends AbstractEntitiesRestService<User> {

    @Value("${endpoint}")
    protected String baseUrl;

    @Override
    protected  String getBaseUrl(){
        return baseUrl;
    }
    
    ...

}
Run Code Online (Sandbox Code Playgroud)

java generics webclient spring-webflux

1
推荐指数
1
解决办法
4259
查看次数

标签 统计

generics ×1

java ×1

spring-webflux ×1

webclient ×1