Springboot 이해하기 - @RequestParam

Kim Hyewon·2024년 11월 13일
0

@RequestParam의 처리 과정

  1. HTTP 요청 수신
  • 클라이언트가 쿼리 파라미터를 포함한 HTTP 요청을 서버로 보냅니다.
    e.g., /process?name=John&age=30
  1. 메서드 매핑
  • Spring MVC는 해당 요청을 처리하는@RequestParam 어노테이션이 붙은 컨트롤러 메서드를 찾습니다.
  1. 리플렉션 사용
  • 리플렉션을 통해 메서드의 매개변수 정보를 얻습니다. 쿼리 파라미터의 타입과 이름을 확인하여 실제 쿼리 파라미터 값을 읽고 적절한 타입으로 변환합니다.

4.형변환(Casting)

  • 쿼리 파라미터는 기본적으로 문자열(String)로 수신되므로, 리플렉션을 통해 얻은 값을 메서드의 매개변수 타입에 맞게 형변환합니다. 이 과정에서 자바의 기본형 타입(예: int, boolean 등)으로도 자동 변환이 이루어집니다.

5.파라미터 바인딩

  • 변환된 값들이 메서드의 매개변수로 전달됩니다. 이 과정에서 @Setter가 없어도 리플렉션이 메서드의 매개변수에 적절하게 값을 할당해줍니다.

@RequestParam도 @RequestBody와 유사하게 리플렉션을 통해 처리되며, 개발자는 별도의 setter 메서드를 작성하지 않아도 됩니다.
Spring MVC가 자동으로 쿼리 파라미터를 읽어서 적절한 타입으로 변환하고, 메서드에 전달하는 방식으로 동작합니다.

profile
볼일 없는 상태에서 별볼일 있는 블로그로 키우는 중입니다.

0개의 댓글

관련 채용 정보