2014-10-06 113 views
0

我正在使用函數範圍的泛型參數掙扎。以下是我的功能。將返回類型指定爲具有泛型的函數的參數

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

試試這個:

return restTemplate.postForObject(postRequest, requestBody, type); 

要不然:

ResponseEntity<RES> resp = restTemplate.postForEntity(postRequest, requestBody, type); 
return resp.getBody(); 
相關問題