RestTemplate Cookie有効期間の設定方法【Java】
RestTemplateでは、Cookieの有効期限を直接設定する方法は提供されていません。通常、サーバー側が有効期限を設定し、レスポンスにSet-Cookieヘッダーを含めることで指定されます。クライアントはCookieを保存し、後続のリクエストでそのCookieを含むリクエストヘッダーを送信するだけです。
Cookieの有効期間を手動で設定する必要がある場合は、次の手順に従うことができます。
- Cookieオブジェクトを作成し、有効期限を設定してください。
Cookie cookie = new Cookie("cookieName", "cookieValue");
cookie.setMaxAge(3600); // 设置有效期为1小时
- RestTemplateのリクエストヘッダーにCookieを保存します。
RestTemplate restTemplate = new RestTemplate();
restTemplate.getInterceptors().add((request, body, execution) -> {
request.getHeaders().add("Cookie", cookie.getName() + "=" + cookie.getValue());
return execution.execute(request, body);
});
- RestTemplateは、Cookieを含むリクエストヘッダーを送信する。
Cookieの有効期限を手動で設定しても、サーバー側で上書きされる可能性があるので、サーバー側でCookieの有効期限を設定することをお勧めします。