REST방식으로 호출하는 경우는 화면 자체가 아니라 데이터 자체를 전송하는 방식을 처리되기 때문에 데이터를 요청한 쪽에서 정상적인 데이터 인지 비정상적인 데이터인지를 구분할 수 있는 확실한 방법을 제공해야만 한다.
ResponseEntity는 데이터와 함께 HTTP 헤더의 상태 메시지 등을 같이 전달하는 용도로 사용한다.
HTTP의 상태코드와 에러 메시지 등을 함께 데이터를 전달할 수 있기 때문에 받는 입장에선 확실하게 결과를 알 수 있다.
@GetMapping(value = "/check", params = {"height", "weight"})
public ResponseEntity<SampleVO> check(Double height, Double weight) {
SampleVO vo = new SampleVO(0, "" + height, "" + weight);
ResponseEntity<SampleVO> result = null;
if (height < 150) {
result = ResponseEntity.status(HttpStatus.BAD_GATEWAY).body(vo);
} else {
result = ResponseEntity.status(HttpStatus.OK).body(vo);
}
return result;
}
확인해보면 화면에는 둘다 json형식으로 데이터가 떠있는 모습을 볼 수 있지만
개발자 도구로 네트워크를 살펴보면 상태 코드가 다른 것을 볼 수 있다.
따라서 ResponseEntity를 사용하여 이처럼 데이터가 잘못된 데이터인지 아닌지를 확인할 수 있다.
'스프링' 카테고리의 다른 글
xml을 활용한 객체 주입 (0) | 2022.10.25 |
---|---|
(Spring)xml을 이용한 트랜젝션 사용 (0) | 2022.10.20 |
@RestController , @Controller의 차이 (1) | 2022.10.18 |
intellij spring 프로젝트 생성 (0) | 2022.10.11 |
intellij 라이브러리 추가 (0) | 2022.10.10 |