我正在努力使用功能范围的泛型参数。以下是我的功能。
public <RES, REQ> RES makePostRequest(String postRequest, REQ requestBody, Class<RES> type) {
Response<type> resp = restTemplate.postForObject(postRequest, requestBody, Response.class);
return resp.getBody();
}
Jackson,执行反序列化的json库需要指定返回类型。否则,响应不会转换为正确的类型。但是,Response<type>
无效。如何将RES
作为参数并在Response<RES>
中指定?
注意:我不想使用restTemplate.exchange
。我不想设置所有的http标头并创建一个http实体。我只想通过参数指定泛型类型。任何帮助表示赞赏。
答案 0 :(得分:0)
试试这个:
return restTemplate.postForObject(postRequest, requestBody, type);
或者:
ResponseEntity<RES> resp = restTemplate.postForEntity(postRequest, requestBody, type);
return resp.getBody();