상세 컨텐츠

본문 제목

@getmapping 하고 @postmapping 차이는?

IT

by JR 2026. 3. 19. 01:21

본문

300x250

 

 

 

@GetMapping과 @PostMapping 차이는 기본적으로 HTTP 요청 방식(GET vs POST) 차이입니다.
이 둘은 모두 **Spring Framework**에서 제공하는 요청 매핑 어노테이션입니다.


1️⃣ 기본 차이

어노테이션 HTTP 방식 용도
@GetMapping GET 데이터 조회
@PostMapping POST 데이터 생성 / 전송

2️⃣ GET 요청 (@GetMapping)

데이터 조회할 때 사용합니다.

@GetMapping("/users/{id}")
public User getUser(@PathVariable Long id) {
    return userService.getUser(id);
}

요청

GET /users/10

특징

  • 서버 데이터 조회
  • URL에 파라미터 포함
  • 캐싱 가능
  • 브라우저 주소창 호출 가능

/users?id=10

3️⃣ POST 요청 (@PostMapping)

데이터 생성하거나 서버에 데이터 보낼 때 사용합니다.

@PostMapping("/users")
public User createUser(@RequestBody User user) {
    return userService.createUser(user);
}

요청

POST /users

Body 데이터

{
  "name": "kim"
}

특징

  • 서버 데이터 생성
  • 데이터 Body로 전송
  • URL에 데이터 안보임
  • 캐싱 안됨

4️⃣ 데이터 전달 방식 차이

GET

/users?id=10

POST

POST /users
Body:
{
 "id":10
}

5️⃣ 스프링 코드에서 보통 이렇게 사용

조회

@GetMapping("/orders/{id}")

등록

@PostMapping("/orders")

수정

@PutMapping("/orders/{id}")

삭제

@DeleteMapping("/orders/{id}")

이것은 REST API 규칙입니다.


6️⃣ 내부적으로는 사실 같은 것

@GetMapping

실제로는

@RequestMapping(method = RequestMethod.GET)

@PostMapping

실제로는

@RequestMapping(method = RequestMethod.POST)

간단히 줄여쓴 것입니다.


🔥 형님이 스프링 코드 읽을 때 팁

Controller에서

@GetMapping
@PostMapping

 

이걸 보면 바로 알 수 있습니다.

 

의미 판단
@GetMapping 조회 API
@PostMapping 등록 API

 

그래서 Controller 파일 보면 API 역할이 바로 보입니다.


 

 

300x250

관련글 더보기