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

dkdleldho님의 프로필 이미지
dkdleldho

작성한 질문수

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

HTTP 메서드 - PUT, PATCH, DELETE

특정 사례에 대한 PUT 실제 구현에 대한 질문입니다.

작성

·

47

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예

[질문 내용]
안녕하세요.

PUT method를 사용할 때, 특정한 case에 대해서 현업에서는 어떤 방식으로 구현을 하는지 궁금합니다.

 

상황은 이렇습니다.

  1. DB에 다음과 같은 리소스가 있습니다. {'A':1,'B':2}.

  2. 이 것을 수정하기 위해 PUT method로 body에 {'B':3, 'C':4}를 담아서 요청을 날립니다.

이 때의 결과는 PATCH 메서드와 다르게 replace의 의미를 충분히 고려하여 'A' 리소스를 삭제하고 {'B':3, 'C':4}가 되어야 하는지,

아니면 요청으로 들어온 'B'와 'C'만을 고려하여 {'A':1, 'B':3, 'C':4}가 되어야 하는건지

보통 어떤 식으로 구현하는지 궁금합니다. 저는 PATCH와 구분되게 첫 번째 방식이 맞지 않나 싶은데, 이런 것을 허용했을 때 PUT 메서드를 사용하면 리소스가 오염될 확률이 높지 않은 건지 궁금합니다.

답변 1

1

안녕하세요. dkdleldho님, 공식 서포터즈 y2gcoder입니다.

PUT을 사용할 때는 보통 첫번째와 같이 사용하는 것 같습니다 🙂 PUT을 사용한다는 것은 리소스를 완전히 대체한다는 의미로 사용할 때가 많기 때문입니다.

감사합니다.

dkdleldho님의 프로필 이미지
dkdleldho

작성한 질문수

질문하기