J'appelle le service Web en utilisant la méthode ci-dessous.
ResponseBean responseBean = getRestTemplate()
.postForObject(url, customerBean, ResponseBean.class);
Maintenant, mon exigence a changé. Je veux envoyer 2 en-têtes avec la demande. Comment dois-je procéder?
Le bean client est une classe où contiennent toutes les données qui seront utilisées comme corps de requête.
Comment ajouter des en-têtes dans ce cas?
Vous pouvez utiliser HttpEntity<T>
pour votre but. Par exemple:
CustomerBean customerBean = new CustomerBean();
// ...
HttpHeaders headers = new HttpHeaders();
headers.set("headername", "headervalue");
HttpEntity<CustomerBean> request = new HttpEntity<>(customerBean, headers);
ResponseBean response = restTemplate.postForObject(url, request, ResponseBean.class);
Utilisez simplement le org.springframework.http.HttpHeaders
pour créer vos en-têtes et ajouter CustomBean. Sth ressemble à:
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>
J'espère que cette aide.