2017-09-11 67 views
1

以下のメソッドを使用してWebサービスを呼び出しています。SpringでRestTemplateのpostForObject()メソッドにヘッダを追加する

ResponseBean responseBean = getRestTemplate() 
    .postForObject(url, customerBean, ResponseBean.class); 

私の要件が変更されました。私はリクエストで2つのヘッダーを送信したいと思います。 どうすればいいですか?

カスタマーbeanは、リクエスト本体として使用されるすべてのデータを含むクラスです。

この場合、ヘッダーを追加するにはどうすればよいですか?

答えて

4

HttpEntity<T>をご利用いただけます。例:

CustomerBean customerBean = new CustomerBean(); 
// ... 

HttpHeaders headers = new HttpHeaders(); 
headers.set("headername", "headervalue");  

HttpEntity<CustomerBean> request = new HttpEntity<CustomerBean>(customerBean, headers); 

ResponseBean response = restTemplate.postForObject(url, request, ResponseBean.class); 
1

org.springframework.http.HttpHeadersを使用してヘッダーを作成し、CustomBeanを追加します。 Sthは次のようになります。

CustomerBean customerBean = new CustomerBean(); 
HttpHeaders headers = new HttpHeaders(); 

// can set the content Type 
headers.setContentType(MediaType.APPLICATION_JSON); 

//Can add token for the authorization 
headers.add(HttpHeaders.AUTHORIZATION, "Token"); 

headers.add("headerINfo", "data"); 

//put your customBean to header 
HttpEntity<CustomerBean> entity = new HttpEntity<>(customBean, headers); 
//can post and get the ResponseBean 
restTemplate.postForObject(url, entity, ResponseBean.class); 
//Or return the ResponseEntity<T> 

希望のヘルプ。

関連する問題