본문 바로가기

개발/개발괴발

[HTTP] 그래서 PUT 이랑 PATCH 는 뭐가 다른건가요 - (2)

나름의 결론을 내렸다.

테이블의 모든 필드를 Resource 와 동일시 하면 이전의 포스팅같은 고뇌에 빠지게 되는것 같다. (이전 포스팅 : https://cindycho.tistory.com/78)

 

POST, PUT, PATCH 는 해당 URI 의 Resource에 관련한 작업인데,

이 Resource란 것에 대해 다시 잘 생각해보니

 

Resource가 디비 테이블과 동일시 될 필요는 없는 것 같다.

 

내 고민이 아니,,, 그럼 테이블에 필드가 50개 있는데,, 이중 5개만 고치고 싶어도 PUT을 쓰려면 50개를 payload에 다 명시해야 하는거야?? 이게 말이되나..? 그럼 수정은 항상 PATCH를 쓰는게 맞나..?

 

이런 고민이었는데,

디비의 테이블과 Resource를 분리해서 생각하니 마음이 편해졌다.

 

Resource 가 5개의 필드만을 명시한다면 RequestModel로 만들수 있을것이고,

해당 URI의 요청에서는 이 5개의 필드값을 항상 채워서 보내야 한다면 PUT이 사용가능하고

만일 5개중 몇개만 보내도 괜찮다면 이때는 PATCH를 사용하는것이라 이해했다.