삶의 공유

[Spring] Annotation@Mapping 역할 본문

Web Dev/Java

[Spring] Annotation@Mapping 역할

dkrehd 2025. 4. 3. 21:43
728x90
반응형

Java 웹 개발 입문자를 위한 RequestMapping, GetMapping, PostMapping 개념 설명

Spring Boot를 처음 배우는 분들을 위해, 이번 글에서는 웹 요청을 처리하는 핵심 애노테이션인 @RequestMapping, @GetMapping, @PostMapping의 개념과 차이점을 간단한 예제와 함께 설명드릴게요.

 

✨ 왜 이 애노테이션들이 중요한가요?

웹 애플리케이션에서 클라이언트(브라우저 등)가 서버에 요청을 보낼 때, 서버가 어떤 요청을 어떻게 처리할지를 결정하는 것이 Controller의 역할입니다. 이때 사용되는 것이 바로 @RequestMapping, @GetMapping, @PostMapping입니다.


🔎 @RequestMapping

▶️ 역할:

  • URL 경로를 특정 메서드 또는 클래스와 연결하는 가장 기본적인 애노테이션입니다.
  • method 속성을 이용해 GET, POST 등 HTTP 메서드도 함께 지정할 수 있어요.

🔧 예제:

@RequestMapping(value = "/login", method = RequestMethod.GET)
public String showLogin() {
    return "login";
}

이 코드는 "/login" URL로 들어오는 GET 요청을 처리합니다.

 

💡 참고:

  • 클래스에 붙이면 해당 URL을 prefix로 사용합니다:
@Controller
@RequestMapping("/user")
public class UserController {
  // “/user/profile” URL 처리
  @GetMapping("/profile")
  public String getProfile() { ... }
}

📅 @GetMapping

▶️ 역할:

  • @RequestMapping보다 간단하게 GET 요청을 처리할 수 있게 만든 애노테이션입니다.
  • Spring 4.3부터 도입되었어요.

🔧 예제:

@GetMapping("/login")
public String showLoginPage() {
    return "login"; // login.html
}
  • 위 코드는 /login으로 들어온 GET 요청을 처리하고 "login.html" 페이지를 반환합니다.

💡 요약:

  • @RequestMapping(method = RequestMethod.GET)을 더 간단하게 표현한 것!

📩 @PostMapping

▶️ 역할:

  • @GetMapping과 반대로 POST 요청을 처리합니다.
  • 폼 전송(form submit), 로그인, 데이터 생성 등에서 사용됩니다.

🔧 예제:

@PostMapping("/login")
public String login(String id, String pwd, Model model) {
    if(id.equals("asdf") && pwd.equals("1234")) {
        model.addAttribute("id", id);
        return "userInfo"; // userInfo.html
    }
    return "redirect:/login?error";
}
  • 사용자가 로그인 폼을 제출하면 이 메서드가 실행됩니다.

🔍 언제 어떤 걸 써야 할까?

목적애노테이션

모든 HTTP 메서드 지정 가능 @RequestMapping
간단한 GET 요청 @GetMapping
간단한 POST 요청 @PostMapping

보통은 단순한 GET/POST 요청에는 @GetMapping, @PostMapping을 사용하고, 여러 HTTP 메서드 처리나 공통 설정이 필요할 때 @RequestMapping을 씁니다.


✨ 정리

Spring의 매핑 애노테이션들은 컨트롤러에서 URL 경로와 요청 방식에 따라 어떤 메서드를 실행할지 지정하는 역할을 합니다.

  • @RequestMapping → 기본형, 모든 요청 처리 가능
  • @GetMapping → 조회용(GET) 요청 처리
  • @PostMapping → 생성/로그인 등 POST 요청 처리

Spring Boot를 익힐 때 이 애노테이션들을 잘 구분해 쓰는 것이 중요합니다.
직접 코드를 짜보면서 어떤 요청이 어떤 메서드를 호출하는지 실습해보세요!


 

반응형