@PostMapping과 @PutMapping의 차이점

종원유·2021년 10월 16일
0

김영한 님의 JPA 관련 강의를 보다가 @PostMapping과 @PutMapping을 분리해서
사용하는 것을 보고 둘의 차이점에 대해서 개념을 이해하고 내용을 정리하는 것이 좋을 것 같았다.

개발하면서 @PostMapping과 @PutMapping의 차이점에 대해서
@PutMapping은 수정할 때 사용하고, @PostMapping은 기타 작업을 할 때 사용하는 것으로
용도에 따른 구분으로만 알고 있었다.

영한님의 강의를 보니, @PutMapping의 용도에 대해서

멱등하다고 표현한다.
똑같은 수정을 여러번해도 변경되지 않는다.
같은 걸 여러번 호출해도 결과가 똑같아요.

라고 설명하셨다.

@PutMapping에 대한 얘기를 듣고 내용을 좀 더 이해해보고자 관련 정보를 찾아보았다.

developer.mozilla.org/ko/docs/Web/HTTP/Methods/PUT

PUT

HTTP PUT 메서드는 요청 페이로드를 사용해 새로운 리소스를 생성하거나, 대상 리소스를 나타내는
데이터로 대체합니다.

주요기능(수정)

사용법

@PutMapping
public @ResponseBody ResponseEntity<String> put(){		
  return new ResponseEntity<String>("PUT Response", HttpStatus.OK);
 }

멱등성

멱등성이란?

  멱등성 : 동일한 요청을 한 번 보내는 것과 여러 번 연속으로 보내는 것이 같은 효과를 지님.

정리

PutMapping은 멱등성을 가지고, 여러 번 호출할 경우, 클라이언트가 받는 응답은 동일하다.

대상 리소스를 나타내는 데이터가 있는지 없는지 체크하여 없을 경우 Created(201) 응답을 보내고
대상 리소스를 나타내는 데이터가 있을 경우 OK(200), No Content(204) 응답을 통해 성공적으로
처리되었음을 알린다.

profile
개발자 호소인

0개의 댓글