Spring Framework/SpringBoot

@RestController와 ResponseEntity

Razelo 2022. 1. 26. 13:27

스프링부트로 진행중인 프로젝트에서 한참 리팩토링을 진행중이었는데 @RestController 를 사용하면 컨트롤러마다 @ResponseBody를 반복할 필요가 없다고 한다. 왜냐면 이미 @RestController 내에 선언되어 있기 때문이다.

그래서 @RestController로 바꾸어 주기로 했다. 

 

그런데 보통 @RestController를 사용할 경우에 ResponseEntity를 사용하는 경우가 많다고 한다. 그래서 리턴 타입도 모두 ResponseEntity로 바꾸어 주었다. 예전에는 객체나 문자열 혹은 Long타입 변수를 그대로 프론트에게 던졌는데 지금은 ResponseEntity로 주다보니 통일된 느낌이라 좋은 것같다. 

그리고 에러가 발생했을 경우 그 또한 통일되게 처리할 수 있는 방법이 장점인 것 같다. 아래 블로그에서 많은 도움을 받았다. 

 

 

https://blog.jiniworld.me/71

 

[Spring Boot Tutorial] 12. Spring Boot REST Api에 ResponseEntity 적용하기

지금까지 demo프로젝트를 구성할 때, @ResponseBody의 result와 reason 값에 api 요청 결과를 출력했습니다. 그러나, http 프로토콜을 이용하는 통신에는 응답결과를 body이외에 http 상태 코드와 header 를 설

blog.jiniworld.me

 

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

 

ResponseEntity (Spring Framework 5.3.15 API)

Extension of HttpEntity that adds an HttpStatus status code. Used in RestTemplate as well as in @Controller methods. In RestTemplate, this class is returned by getForEntity() and exchange(): ResponseEntity entity = template.getForEntity("https://example.co

docs.spring.io

 

 

반응형