2016-08-16 31 views
1

私はrestTemplateインスタンスとクラスobjを渡す場所に作成したexecuteメソッドを持っています。しかし、チェックされていないタイプについていくつかの警告が出ます。私はジェネリックスでこれを行う方法を理解できないようです。ここで私がこれまで持っているものです。java genericsをrestTemplateで使用する方法

public class RepositoryUtils { 

    private static final Logger LOGGER = LoggerFactory.getLogger(RepositoryUtils.class); 

    public static ResponseEntity execute(String url, RestTemplate restTemplate, Class generic) { 

     LOGGER.info("GET: {}", url); 

     ResponseEntity response = null; 
     try { 
      response = restTemplate.exchange(url, HttpMethod.GET, RequestHelper.getGzipHttpEntity(), generic); 
     } catch (Exception e) { 
       LOGGER.error("RestTemplate: {} - {}", url, e.getMessage()); 
     } 

     return response; 
    } 
} 

そして、ここでは、私は私の静的にコールを実行させる方法です。ここで

ResponseEntity<Channels> response = RepositoryUtils.execute(channelUrlFinal, restTemplate, Channels.class); 
+0

正確なエラーと場所をお知らせください。私の推測では、メソッドのシグネチャを 'public static ResponseEntity execute(String url、RestTemplate restTemplate、Class generic){' – jhyot

+0

@jhyotに変更する必要があります。エラーは表示されず、2つの警告が表示されます。私のメソッドを呼び出すときは、私のメソッドはResponseEntityを返すにもかかわらず、私はResponseEntity を期待しているので、未確認の割り当て警告が出ます – DanielD

答えて

2

はあなたのメソッドのシグネチャとして試すことができるものである:

public static <T> ResponseEntity<T> execute(String url, RestTemplate restTemplate, 
    Class<T> generic) { 
関連する問題