[Spring] HandlerMethodArgumentResolver 동작 원리 0. 들어가기 전에 ArugmentResolver을 사용해보고, 어느 시점에서 사용 되는지 알아보기 위해 정리했습니다. 1. HandlerMethodArgumentResolver란? 특정 조건에 맞는 파라미터가 있을 때 원하는 값을 바인딩해주는 인터페이스 컨트롤러에 있는 메서드 파라미터는 누가 넘겨주는 것일까? 우리는 @GetMapping, @PostMapping등이 붙은 메서드를 사용하면서, 메서드 파라미터 값에 @RequestParam, @RequestBody를 사용해서 값을 입력받는다. JSON을 파싱하고 파라미터에 값을 넣어주는 복잡한 연산들을 누가하는 것일까? 이 연산들을 하는 것은 흔히 얘기하는 ArgumentRe..
[Spring] DispatcherServlet이란? 0. 들어가기 전에 @RequestBody의 동작을 알아보다가 DispatcherServlet, ~Resolver라는 언어가 많이 나와 이번 기회에 정리해보고 공부해봤습니다. 1. DispatcherServlet 중앙 Servlet으로써 요청 처리를 위한 공통의 알고리즘을 제공하는 클래스이다. 스프링 MVC는 프론트 컨트롤러 패턴으로 만들어졌다. 프론트 컨트롤러 패턴이란, 프론트 컨트롤러가 클라이언트의 요청을 받고 요청을 알맞게 처리해주는 컨트롤러들을 호출하여 처리하는 패턴이다. [AS - IS] 위의 사진은 클라이언트가 요청을 하는 그림이다. 클라이언트가 서버에 요청을 할 때, 요청을 처리할 수 있는 컨트롤러를 직접 찾아서 매핑을 해주어야 한다. [..