resttemplate如何添加cookie
时间: 2023-12-13 17:24:40 浏览: 27
在使用 RestTemplate 发送请求时,可以使用 `exchange` 方法来设置请求头和请求体。要添加 cookie,可以在请求头中添加 `Cookie` 字段,值为需要的 cookie。
例如,假设需要添加名为 `sessionId`,值为 `123456` 的 cookie,可以使用以下代码:
```java
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.add("Cookie", "sessionId=123456");
HttpEntity<String> requestEntity = new HttpEntity<>(headers);
ResponseEntity<String> responseEntity = restTemplate.exchange(
"http://example.com/api/endpoint",
HttpMethod.GET,
requestEntity,
String.class
);
String response = responseEntity.getBody();
```
在上面的代码中,我们创建了一个 `HttpHeaders` 对象,添加了名为 `Cookie` 的请求头,并将其值设置为 `sessionId=123456`。然后,我们将 `HttpHeaders` 对象包装在 `HttpEntity` 中,作为请求实体的一部分。最后,我们使用 `exchange` 方法发送请求,并将请求实体传递给它。
注意:在实际项目中,可能需要从 cookie 存储中读取 sessionId 的值,并将其设置为请求头中的值。