2017-06-01 5 views
0

を使用してResponseEntityから体を取得するための汎用的な方法:私はこのコードを繰り返し春 - 次のようにしてResponseEntityと一緒に、私は非常に頻繁に使用しています私のコードHttpEntityでHttpEntity

HttpEntity<?> request = new HttpEntity<String>(myObject, headers); 

ResponseEntity<String> response = restTemplate.exchange("someurl", HttpMethod.POST, request, String.class); 

、その後

response.getBody() 

いつも、私が送信したいオブジェクト、url、およびHttpMethod型をresponse.body()に与える汎用メソッドを作成することが可能かどうか、私は疑問に思っていました。 ほとんどの場合、応答本体は文字列になりますが、オブジェクトにすることができます。あなたは、コードの下に使用することができます

答えて

2

、ここではレスポンスボディとリクエストボディは、一般的な作られています:

public <T, R> T yourMethodName(R requestBody, 
           MultiValueMap<String, String> headers, 
           String url, 
           HttpMethod type, 
           Class<T> clazz) { 
    HttpEntity<?> request = new HttpEntity<String>(requestBody, headers); 
    //You have to create restemplate Obj somewhere 
    ResponseEntity<T> response = restTemplate.exchange(url, type, request, clazz); 
    return response.getBody(); 
} 
関連する問題