Java & Spring/Java

HTTP 요청과 응답에 사용되는 클래스들

DJ.Kang 2025. 2. 6. 09:31

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/http/HttpEntity.html

 

HttpEntity (Spring Framework 6.2.2 API)

hasBody public boolean hasBody() Indicates whether this entity has a body.

docs.spring.io

 

□ HttpHeaders

- HTTP 헤더를 나타내는 클래스, 요청과 응답의 헤더를 설정하고 가져올 때 사용

- 주로 인증 토큰, 콘텐츠 유형, 인코딩 방식 등 헤더 값을 설정할 때 사용

□ HttpEntity

- HTTP 요청 또는 응답을 나타내는 클래스이며, 헤더와 본문을 모두 포함

- 본문과 헤더가 모두 필요할 때 사용, 예를 들어 RestTemplate을 사용할 때 POST 요청을 보낼 때 주로 사용

- 생성자 : HttpEntity(T body) 또는 HttpEntity(T body, HttpHeaders headers)

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
String jsonBody = "{\"key\":\"value\"}";
HttpEntity<String> entity = new HttpEntity<>(jsonBody, headers);

□ ResponseEntity

- HttpEntity를 확장한 클래스이며, HTTP 응답 전체를 나타낸다.

- 상태 코드, 헤더, 본문을 모두 포함할 수 있어 HTTP 응답을 세밀하게 제어할 수 있다.

- 주로 RESTful API에서 응답을 반환할 때 사용

□ RequestEntity

- HTTP 요청 전체를 나타내는 클래스, 헤더와 본문을 포함하여 HTTP 요청을 세밀하게 다룰 수 있다.

- 주로 RestTemplate에서 GET, POST 등의 요청을 보낼 때 사용