Spring(Java)

패스트캠퍼스 환급챌린지 8일차 미션 (2월 8일) : 10개 프로젝트로 시작하는 백엔드 웹개발 : 신입 개발자 취업 집중반 강의 후기

코드라티 2025. 2. 8. 18:51

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://bit.ly/4gL1f1o

 

오늘은 어제에 이어 Handler와 Controller, PathVariable과 RequestParam에 대해 공부했다.

 

우선 Spring Framework에는 클라이언트의 요청을 처리하기 용이하게 만들어주는 Spring MVC라는 모듈이 있다.

MVC는 MVC 패턴에서의 MVC이지만, Spring MVC는 조금은 다른 MVC 패턴을 채택해서 동작한다.

Front Controller와 Handler라는 서브모듈이 있고, 이 둘이 기존 MVC에서 Controller의 역할을 수행한다.

Front Controller는 다시 또 DispatcherServlet, HandlerMapping, HandlerAdapter, ViewResolver, View의 컴포넌트로 구성되는 구조를 갖는다.

 

그리고 아래의 순서로 요청 -> View 렌더링으로 이어진다.

1. 클라이언트가 요청을 보내면 DispatcherServlet(Front Controller) 이 이를 받음.

2. HandlerMapping 을 통해 요청을 처리할 적절한 Handler(Controller)를 찾음.

3. HandlerAdapter 가 적절한 방식으로 Handler를 실행하고, 결과를 ModelAndView 형태로 반환.

4. ViewResolver 가 논리적인 View 이름을 실제 View 객체로 변환.

5. View 가 최종적으로 렌더링을 수행하고 응답을 클라이언트에게 반환.

 

PathVariable과 RequestParam은 클라이언트의 요청에서 경로 매개변수값과 쿼리 매개변수값을 추출해서 사용하는 방법에 대한 내용이 다뤄졌다.

 

PathVariable은 url의 일부를 변수로 활용하도록 하는 방법이다.

@RestController
@RequestMapping("/users")
public class UserController {

    @GetMapping("/{id}")
    public String getUserById(@PathVariable("id") Long userId) {
        return "User ID: " + userId;
    }
}

 

보통 ID를 기반으로 정보를 조회하거나 조작하는 api의 경우 PathVariable을 사용한다.

 

RequestParam은 url의 쿼리스트링에서 값을 가져와 변수로 활용할 수 있도록 해준다.

@RestController
@RequestMapping("/search")
public class SearchController {

    @GetMapping
    public String searchUser(@RequestParam(value = "name", required = false, defaultValue = "Guest") String name) {
        return "Searching for user: " + name;
    }
}

 

보통 검색, 필터링, 정렬을 통해 데이터를 불러올 때 RequestParam을 활용한다.

 

 

학습 시작 인증

 

학습 종료 인증

 

첫 번째 클립 수강 인증

 

두 번째 클립 수강 인증

 

학습 인증