면접준비
ResponseEntity에 대한 설명
하나하나두울
2024. 8. 4. 20:14
- ResponseEntity란?
- Spring Framework에서 제공하는 HttpEntity 클래스가 있는데 이는 HTTP 요청 또는 응답에 해당하는 HttpHeader와 HttpBody를 포함하는 클래스.
- 이 HttpEntity를 상속받아 구현한 클래스가 RequestEntity와 ResponseEntity가 있음.
- 이 중 ResponseEntity는 HttpStatus, HttpHeaders, HttpBody를 포함.
- 사용하여 얻을 수 있는 장점
- 세밀한 HTTP 응답 제어 : 상태코드, 헤더, 본문을 정확하게 제어 가능
- 명확성 : HTTP응답의 구조를 명확하게 볼 수 있음.
- 유연성 : 다양한 상황에 맞는 응답을 쉽게 구성 가능.
- HttpStatus에는 상태에 대한 코드
- HttpHeaders에는 요구사항
- HttpBody에는 데이터 값이 들어있음.
- HttpStatus의 상태코드는 아래 참조.
1xx : 어떤 정보를 표시할 때 사용
2xx : 성공했을 때 사용하는 코드
- 200 OK : 요청이 성공적으로 수행되었습니다.
- 201 Created: 리소스를 생성하는 요청이 성공적으로 수행되었습니다.
- 202 Accepted: 요청이 접수되었는데, 완전히 처리되진 않았습니다.
- 204 No Content: 요청이 성공적으로 수행되었으나, 응답할 데이터가 없습니다.
3xx : Redirection(리다이렉션)
- 301 Moved Permanently: 리소스의 위치가 변경되었음을 알려줍니다. 새로운 리소스의 위치를 함께 반환합니다.
- 302 Found: 리소스의 위치가 임시로 변경되어서, 임시 주소로 요청을 보냅니다.
4xx : 클라이언트 오류
- 400 Bad Request: 요청이 잘못되었습니다.
- 401 Unauthorized: 인증이 필요합니다. 클라이언트에서 인증 정보를 포함해서 보내야 합니다.
- 403 Forbidden: 권한이 없습니다.
- 404 Not Found: 요청한 리소스를 찾을 수 없습니다.
- 405 Method Not Allowed: 이 메서드는 사용할 수 없습니다.
5xx : 서버 오류
- 500 Internal Server Error: 서버에서 요청을 처리할 수 없습니다.
- 501 Not Implemented: 해당 기능을 지원하지 않습니다.
- 502 Bad Gateway: 서버가 게이트웨이 혹은 프록시로부터 잘못된 응답을 받았습니다.
- 503 Service Unavailable: 서버가 현재 요청을 처리할 수 없습니다. (서버가 과부하일 경우)
- 504 Gateway Timeout: 서버가 게이트웨이 혹은 프록시로부터 대기 시간동안 응답을 받지 못했습니다.