[REST API]ResponseEntity 타입클래스
@RestController의 한계
@RestController는 결과로 view를 제공하지 않기때문에 에러 발생유무를 확인할 수 없다.
이때 사용할 수 있는 것이 웹 HTTP 상태 코드이다.
HTTP 상태코드

| 구분 | 코드 | 설명 |
|---|---|---|
| 100번대 | 현재 데이터의 처리중인 상태 | |
| 100 | 데이터의 일부만 서버가 받은 경우 | |
| 200번대 | 정상적인 응답상태 | |
| 200 | 에러가 없이 정상처리된 경우 | |
| 204 | 정상처리가 되었으나 서버에 전달할 값이 없는 경우 | |
| 300번대 | 다른 URL을 처리하는 상태 | |
| 301 | 요청된 페이지가 새 URL로 변경된 경우 | |
| 304 | 이미 기존의 데이터와 변경이 없는 경우 | |
| 400번대 | 서버에서 인식불가한 상태 | |
| 400 | 전송된 Request객체에 문제가 있어 서버가 인지하지 못하는 경우 | |
| 403 | 서버에서 허락되지 않는 경우(서버에 접근권한이 없는 경우) | |
| 404 | URL에 해당하는 자원을 찾을 수 없는 경우 | |
| 406 | 전송방식의 오류 발생한 경우(주로 REST작동시 발생) | |
| 500번대 | 서버 내부의 문제가 발생한 상태 | |
| 500 | 서버에서 처리시 문제가 발생한 경우 | |
| 502 | 게이트웨이, 프록시에 문제가 발생한 경우(=과부화, 개발자의 영역이 아니라 엔지니어의 영역임) | |
| 503 | 일시적인 과부화 상태인 경우, 서비스 중단상태인 경우(개발자의 영역이 아니라 엔지니어의 영역임) | |
| 504 | 지정된 처리시간이 지나서 처리를 못하는 경우 |
ResponseEntity 타입클래스
- HTTP 상태코드를 활용하여 상태처리를 할 수 있다.
- @RestController사용하지 않고 일반컨트롤러에서도 @ResponseBody을 통해서 rest로 처리가능하다.
- ResponseEntity를 사용하면 단순한 객체 정보도 JSON형태로 전달가능하지만, HTML 정보와 JS정보까지 전달할 수 있다.(예를 들어 Header정보)
- 이를 통해 결과확인 및 오류메세지 체크가 가능해진다.
1 |
|
![[OS/WINDOW]배포후 서버재시작에 batch와 윈도우 스케줄러 활용하기](https://cdn.pixabay.com/photo/2012/03/04/00/50/board-22098_960_720.jpg)
![[블로그]헥소테마에서 댓글기능 facebook에서 utterances로 변경하기](https://miro.medium.com/max/1600/1*aOv6h3h_v9PQWa03zGACnw.png)