Spring에서 개발할 때 컨트롤러 return 타입으로 주로 String, Map, List 등을 사용합니다.
간단하게 사용할 수 있어서 편리한 장점이 있지만 복잡한 HTTP 응답이 필요한 경우 ResponseEntity를 사용하면 됩니다.
위의 코드를 보면 Map을 통해 응답하는 것을 확인할 수 있습니다.
이전 코드와 비교하면 HTTP 상태 코드가 추가된 것을 확인할 수 있습니다.
setString 메소드는 201 코드를 리턴하고(37라인), getString 메소드는 200 코드를 리턴합니다(50라인).
각 메소드의 리턴 타입인 ResponseEntity의 제너릭 타입은 HTTP 본문 타입에 대한 것입니다.
Void는 본문이 없는 것이고, String은 본문이 문자열 타입인 것을 가리킵니다.
기존에 HttpServletResponse를 사용해서 첨부파일 다운받았던 방법을
위와 같이 ResponseEntity를 통해 쉽게 다운받을 수 있습니다.
ResponseEntity를 사용하면 정교한 상태코드와 응답 헤더/본문을 설정할 수 있는 장점이 있습니다.
'dev > 스프링' 카테고리의 다른 글
Spring ElasticSearch 첨부파일 색인 (0) | 2024.05.11 |
---|---|
Spring ClassPathResource (0) | 2024.04.21 |
Spring RestControllerAdvice (0) | 2024.03.29 |
Spring Boot Redis 연계 (0) | 2024.03.28 |
Spring Boot Redis Suscriber WebSocket (0) | 2024.02.29 |