2025/08/14 6

[Spring] MVC 17편 - Spring MVC 어노테이션 동작 요약 시트

1. 컨트롤러 유형어노테이션설명반환 처리 방식@Controller뷰 렌더링 컨트롤러반환값 String → View 이름@RestControllerAPI 전용 컨트롤러@ResponseBody 포함, 반환값 → HTTP Body2. 매핑 관련 어노테이션어노테이션용도주요 속성특징/주의사항@RequestMappingURL + HTTP 메서드 매핑value, method, params, headers, consumes, produces가장 기본, 다중 속성 지원@GetMapping 등HTTP 메서드별 축약형value, params, headers 등내부적으로 @RequestMapping 사용@PathVariable경로 변수 바인딩value, required이름 생략 시 -parameters 옵션 필요(3.2+) ..

Spring 2025.08.14

[Spring] MVC 16편 - MVC 기본 기능 총정리편 + 흐름도

이번 글은 Spring MVC 기본 기능을 한 번에 복습한다.이 문서 하나만 보면, @RequestMapping, @RequestParam, @ModelAttribute, @RequestBody 등 MVC의 핵심 어노테이션을 개념부터 원리, 주의사항까지 완벽히 이해할 수 있다.1. @Controller vs @RestController1) 개념@Controller반환값이 String이면 뷰 이름으로 인식 → 뷰 리졸버(ViewResolver)가 템플릿 렌더링API 응답을 하려면 @ResponseBody를 추가해야 함@RestController@Controller + @ResponseBody 조합반환값을 HTTP 응답 바디에 직접 씀 (뷰 렌더링 X)2) 동작원리@RestController는 Handler..

Spring 2025.08.14

[Spring] MVC 15편 - HTTP 메시지 컨버터와 요청 처리 구조

이번 편에서는 스프링 MVC가 요청과 응답을 변환하는 핵심 엔진인 HttpMessageConverter와,컨트롤러 실행까지 이어지는 핸들러 어댑터 구조를 살펴본다.이 과정을 이해하면, 커스텀 메시지 변환기나 특수한 요청 처리 로직을 구현할 때 막히는 일이 거의 없다.1. HTTP 메시지 컨버터(HttpMessageConverter)란?역할HTTP 요청 바디 → 자바 객체 변환 (@RequestBody)자바 객체 → HTTP 응답 바디 변환 (@ResponseBody)동작 시점요청: 컨트롤러 호출 전, 바디 내용을 읽어 객체로 변환응답: 컨트롤러 반환 후, 객체를 바디에 맞게 변환2. 스프링 부트 기본 등록 컨버터컨버터 클래스지원 타입설명StringHttpMessageConverterString텍스트 변환..

Spring 2025.08.14

[Spring] MVC 14편 - HTTP 메시지 바디와 JSON 처리

이번 편에서는 HTTP 요청 메시지 바디를 읽고 쓰는 방법, JSON 데이터 처리, 그리고 이를 가능하게 하는 HttpMessageConverter의 원리를 다룬다.URL 파라미터나 Form 전송 방식과 달리, 메시지 바디는 구조화된 데이터를 다룰 때 필수적이다.1. HTTP 메시지 바디 읽기 (텍스트)서블릿 방식@PostMapping("/request-body-string-v1")public void requestBodyString(HttpServletRequest request, HttpServletResponse response) throws IOException { ServletInputStream inputStream = request...

Spring 2025.08.14

[Spring] MVC 13편 - HTTP 요청 데이터 처리와 바인딩

이번 편에서는 스프링 MVC가 HTTP 요청에서 데이터를 읽어오는 다양한 방법을 정리한다.단순히 URL과 매핑하는 것에서 나아가, 헤더·쿼리 파라미터·폼 데이터·JSON을 어떻게 받아올 수 있는지, 그리고 이를 객체로 바인딩하는 방법까지 다룬다.1. HTTP 요청과 헤더 조회RequestHeaderController 예시@Slf4j@RestControllerpublic class RequestHeaderController { @RequestMapping("/headers") public String headers(HttpServletRequest request, HttpServletResponse response, ..

Spring 2025.08.14

[Spring] MVC 12편 - 요청 매핑 완전 정복

이번 편에서는 스프링 MVC에서 클라이언트 요청 URL과 컨트롤러 메서드를 연결하는 방법을 다룬다.단순히 @RequestMapping 하나만 아는 것과, 다양한 속성과 어노테이션의 의미를 깊게 이해하는 것은 큰 차이가 있다. 실무에서는 이 매핑 설정이 잘못되면 API 호출이 아예 불가능해지거나, 잘못된 응답을 반환하는 경우가 생기므로 반드시 확실히 알아둬야 한다.1. @RequestMapping 기본 사용@RestControllerpublic class MappingController { private final Logger log = LoggerFactory.getLogger(getClass()); @RequestMapping("/hello-basic") public String hel..

Spring 2025.08.14