인프런 커뮤니티 질문&답변

지호님의 프로필 이미지
지호

작성한 질문수

모든 개발자를 위한 HTTP 웹 기본 지식

HTTP API 설계 예시

POST, PUT, PATCH에 대해 간단한 질문이 있습니다.

작성

·

782

1

안녕하세요 간단하게 질문이 2가지가 있어서 올립니다!!!
질문 1.
회원을 등록할 때는 서버에 일일히 경로를 지정하기가 번거로우니까 서버가 리소스의 URI를 자동으로 생성해주는 POST를 쓰는 것이 맞고
온라인 이력서에 올리는 면접 사진과 같은 파일들은 등록할 때 어떤 경로에서 등록하는지 클라이언트가 정하니까 파일 등록은 PUT을 쓰는 것이 맞다.
이 말이 맞는거죠...?
 
질문2.
POST와 PATCH를 쓰는 상황의 차이가 PATCH는 단순 수치 변경을 할 떄, 주로 쓰는 것이고 POST는 단순 수치 변경보다는 변경으로 인해 프로세스가 바뀌게 되는 상황일 때, 쓰는 것?
이렇게 이해하는게 맞는지 궁금해서 질문합니다!!!

답변 1

2

안녕하세요, 지호 님! 공식 서포터즈 codesweaver 입니다.

 POST는 리소스 신규 생성, PUT은 리소스 교체, PATCH 는 리소스 부분 수정 으로 이해하시면 됩니다.

1. 회원등록은 '회원'이라는 리소스를 신규 생성하는 것이므로 POST가 적절합니다. 사진이 조금 애매한데요, 사진을 최초 등록할때는 POST가 맞습니다. 그러나 사진이란 것은 사용자가 변경할 때마다 전체 리소스를 '덮어씌우는'것이지 수정하는 것이 아닙니다. 그래서 사진 업로드 부분은 PUT으로 교체 한다고 보는것이 맞겠지요.

 

2. POST 와 PATCH가 명세상으로 다르긴 하나, 실무에서는 이를 크게 구분하진 않습니다. 리소스 생성, 수정 모두 POST를 사용합니다.

감사합니다.

지호님의 프로필 이미지
지호

작성한 질문수

질문하기