Notice
Recent Posts
Recent Comments
Link
삶의 공유
[Spring] Annotation@Mapping 역할 본문
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를 익힐 때 이 애노테이션들을 잘 구분해 쓰는 것이 중요합니다.
직접 코드를 짜보면서 어떤 요청이 어떤 메서드를 호출하는지 실습해보세요!
반응형
'Web Dev > Java' 카테고리의 다른 글
[Spring] Filter와 Interceptor 완벽 정리: 개념과 예제로 이해 (0) | 2025.04.06 |
---|---|
HTTP 요청방법_GET/POST (0) | 2025.04.01 |
Intellij 내부 Tomcat 사용 시 LifeCycleException:Failed to start component (0) | 2024.10.27 |
[Java] Random Dice 출력 Web 프로그램 만들기 (1) | 2023.01.19 |
이클립스 Spring boot 설정 및 첫 Web Site 만들어보기 (0) | 2022.06.21 |