๐ HTTP ๋ฉ์๋ PUT, PATCH, DELETE ์ ๋ฆฌ
๐ผ PUT
์ด ๋ด์ฉ๋ค์ด ์์ผ๋ฉด ๋์ฒด, ์์ผ๋ฉด ์์ ์๋กญ๊ฒ ์์ฑ์ด ๋๋ค.
๐ ๋ฆฌ์์ค๋ฅผ ๋์ฒด
- ๋ฆฌ์์ค๊ฐ ์์ผ๋ฉด ๋์ฒด
- ๋ฆฌ์์ค๊ฐ ์์ผ๋ฉด ์์ฑ
- ์ฝ๊ฒ ์ด์ผ๊ธฐํด์ ๋ฎ์ด๋ฒ๋ฆผ
๐ ์ค์! ํด๋ผ์ด์ธํธ๊ฐ ๋ฆฌ์์ค๋ฅผ ์๋ณํ๋ค.
- ํด๋ผ์ด์ธํธ๊ฐ ๋ฆฌ์์ค ์์น๋ฅผ ์๊ณ URI ์ง์
- POST์ ์ฐจ์ด์
: POST์์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฑ๋กํ ๋ /members/ ๋ฃ๋๋ฐ ์์์ ์๋์ผ๋ก /members/100 ์ ์ง์ ์ด ๋์ด ๋ค์ด๊ฐ์ง๋๋ฐ 100๋ฒ์ ๋ค์ด๊ฐ์ง๋์ง ๋ช ๋ฒ์ ๋ค์ด๊ฐ์ง๋์ง ์์ ๋ชจ๋ฅธ๋ค. ํ์ง๋ง PUT์ ํด๋ผ์ด์ธํธ๊ฐ ์ง์ ์ง์ ์ ํ๋ค. /members/100 ๋ฒ์ ๋ฃ์ด์ฃผ๋ผ๊ณ . ์ด๊ฒ ๋ฐ๋ก POST์ PUT๊ณผ์ ํฐ ์ฐจ์ด์ ์ด๋ค.
๊ทธ๋์ PUT์๋ ๋ฆฌ์์ค ์์น๋ฅผ ์๊ณ ์งํ์ ํด์ฃผ๋ ์๋ ์๋ /memebers/100์ ๋ ํ๋ฒ PUT์ ๋ ๋ ค์ฃผ๋ฉด ๋ฆฌ์์ค ๋์ฒด๊ฐ ๋๋ค.
๊ธฐ์กด์๋
{
"username":"old",
"age":50
}
์ธ๋ฐ ๋ ํ ๋ฒ ์๋ ๋ด์ฉ์ผ๋ก ์๋ก์ด ๋ฐ์ดํฐ๋ก PUT์ ๋ ๋ ค์ค๋ค๊ณ ๊ฐ์ ์ ํด๋ณด๋ฉด.
{
"age":20
}
์ ๋ด์ฉ์ผ๋ก ๋ฆฌ์์ค๊ฐ ์์ ํ ๋์ฒด๊ฐ ๋๋ค๋ ๋ป์ด๋ค. ๊ทธ๋์ username๋ ์ฌ๋ผ์ง๊ณ age:20์ผ๋ก๋ง ๋์ฒด๋๋ ์์ ํ ๊ฐ์์น์ด๋ค๋ ์๋ฆฌ์ด๋ค. ์ด๋ฐ ์ํฉ์ ๋๋นํ๊ธฐ ์ํ ๋ฉ์๋๋ ๋ฐ๋ก PATCH๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
๐ผ PATCH
- ๋ฆฌ์์ค ๋ถ๋ถ ๋ณ๊ฒฝ
[๊ธฐ์กด์ ๋ฐ์ดํฐ ๊ฐ]
{
"username":"old",
"age":50
}
๊ธฐ์กด์ ์ด๋ฐ ๋ด์ฉ์ด์๋๋ฐ
{
"age":20
}
์ผ๋ก PATCH๋ฅผ ๋ณด๋ด๋ฉด age๋ผ๋ ๋ถ๋ถ๋ง 20์ผ๋ก ๋ถ๋ถ ๋ณ๊ฒฝ์ด ๋๋ค.
๐ผ DELELT
- ๋ฆฌ์์ค ์ ๊ฑฐ
DELELT /members/100
์ ํด์ฃผ๋ฉด ๋ฆฌ์์ค /members/100 ๊ฐ ์ญ์ ๋๋ค.
์ ๋ฆฌ
- PUT : ์์ ํ ๋์ฒดํ๋ค.
- PATCH : ๋ถ๋ถ ๋ด์ฉ๋ง ๋์ฒดํ๋ค.
- DELELT : ๋ฆฌ์์ค๋ฅผ ์ญ์ ํ๋ค.
ํน์ PATCH๊ฐ ์ง์์ ์ํด์ฃผ๋ ์๋ฒ๊ฐ ์๋ค. ๊ทธ๋ด ๊ฒฝ์ฐ์๋ POST๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
POST๋ ๋ฌด์ ์ !! ๐
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ HTTP ๋ฉ์๋ PUT, PATCH, DELETE ์ ๋ฆฌ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@leemember/HTTP-๋ฉ์๋-PUT-PATCH-DELETE-์ ๋ฆฌ์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค