I want to create a rest to communicate between server and client.
The constructor given below:
public class RestHelper<I, R> {
public RestHelper(String url, I input, Class<R> output){
ResponseEntity<R> responseEntity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, output );
}
}
For normal type, I can do:
RestHelper<User, Result> helper = new RestHelper<>(url, user, Result.class);
How can I pass a generic type, like:
ResultContainData<Boolean>
The code below is not working:
ResultContainData<Boolean> result = new ResultContainData<>();
RestHelper<User, ResultContainData<Boolean>> helper = new RestHelper<>(url, user, (Class<ResultContainData<Boolean>>) ((ParameterizedType) result.getClass().getGenericSuperclass()).getActualTypeArguments()[0]);
I got a runtime error: cannot cast to ParameterizedType.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…