下面的代码工作正常。我需要对所有请求重用此方法。如何使其成为泛型?
public class ApiResponse {
}
public class QuoteRespWrapper extends ApiResponse{
private String responseType;
private QuoteRespValue responseValue;
}
public class PolicyRespWrapper extends ApiResponse{
private String responseType;
private PolicyRespValue responseValue;
}
public QuoteRespWrapper callService(String endPoint, String payload, Class<? extends ApiResponse> respClass) throws Exception {
private static List<JacksonJsonProvider> providerList = singletonList(JacksonConfig.jacksonJsonProvider());
String userName="user1";
String password="password1";
WebClient client = WebClient.create(endPoint, providerList, userName, password, null);
Response webClientresponse = client.post(payload);
QuoteRespWrapper strResponse = webClientresponse.readEntity(QuoteRespWrapper.class);
return strResponse;
}
我需要根据类类型修改以下行。它可以是 ApiResponse 的任何子类(QuoteRespWrapper、PolicyRespWrapper,....)。我需要通过 动态参数 .class 来获取响应。
QuoteRespWrapper strResponse = webClientresponse.readEntity(QuoteRespWrapper.class);
最佳答案
您可以使用toString
按预期生成类名输出(例如class java.lang.String
):
webClientresponse.readEntity(respClass.toString());
关于java - 如何使 cxf jax-rs response.readEntity 成为通用的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53292824/