Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Developer N

[Spring] ResponseEntity(HttpStatus) 본문

STUDY/JAVA | SPRING

[Spring] ResponseEntity(HttpStatus)

nnh 2023. 2. 21. 15:17
728x90

ResponseEntity란?

  • HttpEntity를 상속받아 결과 데이터와 HTTP 상태 코드를 직접 제어할 수 있는 클래스
  • 사용자의 HttpRequest에 대한 응답 데이터가 포함됨
  • 에러 코드와 같은 HTTP 상태 코드를 전송하고 싶은 데이터와 함께 전송할 수 있다. 따라서 좀더 세밀한 제어가 필요한 경우 사용하는 편
  • 빌더 형식과 객체 생성 둘다 사용 가능

 

ResponseEntity 구조

  • HttpStatus
  • HttpHeaders
  • HttpBody

 

ResponseEntity 메서드 및 HTTP

  • toString()
    • status, body, headers 순으로 출력
  • ResponseEntity.ok().build()
    • 200 OK status 코드를 반환하는 빌더 메서드
    • body를 넣을수도 있고 안넣을 수도 있다. (단, body를 넣을 때에는 Null 사용불가)
    • 200 OK
      • HTTP 200 ok는 요청을 성공했음을 나타내는 성공 응답 상태 코드.
      • 200 응답은 기본적으로 캐시 가능
      • 성공의 의미는 HTTP 요청 메서드에 따라 나뉨
        • GET : 리소스를 가져왔고 메시지 본문으로 전송됨
        • HEAD : 메시지 본문 없이 표현 헤더가 응답에 포함되어 있음
        • POST : 리소스가 명시하는 행동의 결과가 메시지 본문에 전송되었음
        • TRACE : 서버가 요청받은 메시지가 메시지 본문에 포함되어 있음
      • PUT 또는 DELETE의 성공 결과는 종종 200 ok가 아니라 204 No Content (리소스를 새로 생성한 경우 201 Created)
      • 참고 https://developer.mozilla.org/ko/docs/Web/HTTP/Status/200 
  • of()
    • 주어진 본인을 옵셔널로 받아 비어있는 경우 NotFound 상태로 반환, body가 있을 경우 OK status로 반환
  • ResponseEntity.InternalServerError().build()
    • 500 Internal Server Error 코드를 반환하는 빌더 메서드

 

그외  http status code (계속 추가 예정)

  • http status code 401(Unauthorized)
    • 이 클라이언트 오류 상태 응답 코드는 리소스를 접근할 자격이 없다는 뜻. 따라서 요청이 받아들여지지 않고 에러 발생 
    • 서버가 인식할 수 없는 잘못된 로그인 자격 증명을 제공했을 때 발생
      • URL 확인하기
      • 로그인 자격 증명 확인하기
      • 브라우저 기록 삭제 및 쿠키 삭제

 

참고)

https://thalals.tistory.com/268

 

ResponseEntity란 - 개념, 구조, 사용법, 사용하는 이유

이거 옜날에 적은건데,, 꾸준히 블로그로 유입되시는 분들이 계셔서 부끄러운 마음에 내용을 조금 더 추가해 보았습니다..ㅎㅎ 앞으로도 계속 변경되거나, 알게된 내용 추가할 예정이고, 틀린부

thalals.tistory.com

https://m.blog.naver.com/zzang9ha/221901460077

 

[Spring] - ResponseEntity(HttpStatus)

REST 방식으로 호출하는 경우 화면 자체가 아닌 데이터 자체를 전송하는 방식으로 처리되기 때문에 데...

blog.naver.com

 

728x90
Comments