Interface HttpResponse<T>
Interface HttpResponse
public interface HttpResponse<T>
HTTP 응답이에요. HttpResponse는 직접 생성되지 않고 HttpRequest를 보낸 결과로 반환돼요. HttpResponse는 응답 상태 코드와 헤더를 받았을 때, 그리고 일반적으로 응답 본문도 완전히 받은 후에 사용할 수 있게 돼요. HttpResponse가 응답 본문을 완전히 받기 전에 사용 가능하게 되는지 여부는 HttpRequest를 보낼 때 제공한 BodyHandler에 달려 있어요. 이 클래스는 응답 상태 코드, 헤더, 응답 본문, 그리고 이 응답에 해당하는 HttpRequest에 접근하기 위한 메서드를 제공해요. 다음은 응답을 String으로 가져오는 예시예요.
HttpResponse<String> response = client
.send(request, BodyHandlers.ofString());
statusCode
int statusCode()
이 응답의 상태 코드를 반환해요.
- Returns: 응답 코드
request
HttpRequest request()
이 응답에 해당하는 HttpRequest를 반환해요. 반환된 HttpRequest는 보낼 때 제공한 시작 요청(initiating request)이 아닐 수 있어요. 예를 들어 시작 요청이 리다이렉트되었다면 이 메서드가 반환하는 요청은 리다이렉트된 URI를 가지며, 이는 시작 요청 URI와 다를 거예요.
- Returns: 요청
- See Also: previousResponse()
previousResponse
Optional<HttpResponse<T>> previousResponse()
이전 중간 응답(intermediate response)을 받았다면 그것을 담은 Optional을 반환해요. 중간 응답은 리다이렉션이나 인증의 결과로 받는 응답이에요. 이전 응답이 없으면 빈 Optional이 반환돼요.
- Returns: 있으면
HttpResponse를 담은Optional
headers
HttpHeaders headers()
받은 응답 헤더를 반환해요.
- Returns: 응답 헤더
body
T body()
본문을 반환해요. T의 타입에 따라, 반환된 본문은 읽힌 후의 본문을 나타낼 수 있고(예: byte[], String, Path) 또는 InputStream처럼 본문을 읽는 객체를 나타낼 수 있어요. 이 HttpResponse가 previousResponse() 호출에서 반환된 것이라면 이 메서드는 null을 반환해요.
- Returns: 본문
sslSession
Optional<SSLSession> sslSession()
이 응답에 적용된 SSLSession을 담은 Optional을 반환해요. HTTPS 응답이 아니면 빈 Optional을 반환해요.
- Returns: 응답과 연관된
SSLSession을 담은Optional
uri
URI uri()
응답을 받은 URI를 반환해요. 리다이렉션이 발생했다면 요청 URI와 다를 수 있어요.
- Returns: 응답의 URI
version
HttpClient.Version version()
이 응답에 사용된 HTTP 프로토콜 버전을 반환해요.
- Returns: HTTP 프로토콜 버전