์์๋ก ์ฐ๋ฆฌ๋ ๋ก๊ทธ์ธ์ ํ๊ธฐ ์ํด Id์ Pw๋ฅผ ์ ๋ ฅ์ฐฝ์ ์ ๋ ฅํ๊ณ ๋ก๊ทธ์ธ ๋ฒํผ์ ๋๋ฌ ๋ก๊ทธ์ธ ์์ฒญ์ ํ๋ค.
๊ทธ๋ฌ๋ฉด ์น์ ์๋ฒ์ ์ฐ๋ฆฌ๊ฐ ์ ๋ ฅํ Id์ Pw๊ฐ ์ฌ์ฉ์์ ๋ณด์ ์๋ Id์ Pw๊ฐ๋ค์ ๋น๊ตํด๋ณด๊ณ ์ผ์นํ๋ฉด ๋ก๊ทธ์ธ์์ฒญ์ ๋ฐ์๋ค์ด๊ณ ๋ก๊ทธ์ธ ์ ์์ ํ๋ฝํ๋ ๋ด์ฉ์ ๋ค์ ์น์๊ฒ ์ค ๊ฒ์ด๋ค.
์ด์ฒ๋ผ ์น์ด ์๋ฒ์ ์ ๋ณด๋ฅผ ๋ณด๋ด๋ ๊ฒ์ request๋ผ๊ณ ํ๊ณ ๊ทธ ์ ๋ณด์ ๋ํ ๋๋ต ๋ฐ๋ ๊ฒ์ response๋ผ๊ณ ํ๋ค.
๊ทธ๊ฒ์ ๋ฐ๋ก request์ ์กด์ฌํ๋ ๋ฉ์๋๋ผ๋ ์ ๋ณด๋ฅผ ํตํด ์ ์ ์๋ค.
์๊น 4๊ฐ์ง ์ข ๋ฅ request๊ฐ ์๋ค๊ณ ํ๋๋ฐ ๊ฐ request์ ๋ฉ์๋๋ฅผ ์์๋ณด์
1.๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ request์ ๋ฉ์๋:get , post, put, delete
request๋ Head์ Body๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
Head: data์ ๊ดํ ๋ถ๊ฐ์ ๋ณด(๋ฉ์๋)
Body: ์ค์ data๋ฅผ ๋ด๋ ๋ถ๋ถ
๋ผ๋ ๊ฐ๋ค์ด ๋ด๊ฒจ์ ธ ์๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
๊ทธ๋ผ ์์ฐ์ค๋ฝ๊ฒ ์๊ฐ์ ํด๋ณด๋ฉด put์ด๋ post๋ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ ์ถ๊ฐํ๊ธฐ ๋๋ฌธ์ ๊ฐ๊ฐ ์์ ํ ๋ฐ์ดํฐ
get delete๋ ใดbody์ ๋ณด๊ฐ ํ์ ์์
์ค์ ๋ก head์ body๋ฅผ ์ดํด๋ณด๋ ค๋ฉด ๊ฐ๋ฐ์๋๊ตฌ์์ network๋ผ๋ ์ฐฝ์ ์ดํด๋ณด๋ฉด ๋๋ค.
netwokrํญ์์๋ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ๋ณด๋ธ request์ response๋ฅผ ๋ณผ ์ ์๋ค.
์ ๊ธฐ์ header๋ ํค๋ ์์ ์กด์ฌํ๋ ๊ฐ key์ value์ ์์ ์๋ฏธํ๋ค.
๋ฐ๋ก ์ด ์ฌ๋ฌ๊ฐ์ ํค๋๋ค์ด ํ์ฌ request์ ์ฌ๋ฌ๊ฐ์ง ๋ถ๊ฐ์ ๋ณด๋ฅผ ๋ํ๋ธ๋ค
๋ํ ์ ์ดํผ๋ด path๊ฐ ์กด์ฌํ๋๋ฐ ์ด path๋ก ์ธํด ์ ํํ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ํ๋ ๊ฒ์ธ์ง ์๋ฒ์ ์ ๋ฌ ํ ์ ์๋ฐ.
๊ทธ๋ฆฌ๊ณ ์๊น ์์์ ์ค๋ช ํ๋ฏ์ด get์ ๋ฐ๋์ ๋ด์ ์ ๋ณด๊ฐ ์๊ธฐ ๋๋ฌธ์ body๊ฐ ์กด์ฌ ํ์ง ์๋๋ค
๐ธfetchํจ์๋ก url์ ์์ฑํ ๋ request์ ๋ฐ๋ผ์ ๋ณด๋ด์ผ ํ๋url๋ ๋ฌ๋ผ์ง๋ค
1.ํน์ ์ ๋ณด๋ฅผ ์กฐํ ํ ๋
1.ํน์ ์ ๋ณด๋ฅผ ์์ ํ ๋
2.ํน์ ์ ๋ณด๋ฅผ ์ญ์ ํ ๋
์ด๋ ๊ฒ ํน์ ์ ๋ณด์ ๋ํ ์ ๊ทผ์ด ํ์ ํ ๋๋ ์ด ์์ ๋ค์ ์ํํ๊ธฐ ์ํด์๋ ์์ ์ ๋์์ด ๋๋ ์ ๋ณด๋ฅผ ํน์ ํ ์ ์๋๋ก URL ๊ณ ์ ์๋ณ์๋ฅผ ๋ถ์ฌ์ค์ผ ํ๋ค.
์
๋ ฅ ๊ฒฐ๊ณผ
(ํน์ ์ ๋ณด๋ฅผ ์กฐํํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ url์ ์์ธํ ๋ณด๋ฉด ์๊น์ ๋ฌ๋ฆฌ /3์ด ์ถ๊ฐ ๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค.)
ํน์ ์ ๋ณด๋ง ์ ์ถ๋ ฅ ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
์ ์ฌ์ง์ ๋ณด๋ฉด newMember๋ผ๋ ์๋ก์ด ๊ฐ์ฒด ๋ฟ๋ง ์๋๋ผ fetchํจ์์ ํ๋ผ๋ฏธํฐ๊ฐ์ผ๋ก ์๋กญ๊ฒ ์ถ๊ฐ๋ ๊ฐ์ฒด๊น์ง ๋ณผ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ fetchํจ์ ํ๋ผ๋ฏธํฐ๊ฐ์ผ๋ก ์๋ ๊ฐ์ฒด๋ ๋ฐ๋ก ์ฐ๋ฆฌ๊ฐ ๋ณด๋ผ request์ ๊ดํ ๊ฐ์ข ์ค์ ์ ์ ๋ ๊ฐ์ฒด์ด๋ค.
์ด ๊ฐ์ฒด๋ฅผ ์ต์
๊ฐ์ฒด๋ผ๊ณ ๋ถ๋ฅธ๋ค
(get๋ฆฌํ์คํธ๋ฅผ ๋ณด๋ผ๋ ์ด๋ฐ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์ถ๊ฐํ์ง ์์ ์ด์ ๋ get๋ฆฌํ์คํธ๋ ๊ธฐ๋ณธ์ ์ผ๋ก get๋ง์ ์ค์ ์ด ์๋์ผ๋ก ๋์ด ์๊ธฐ ๋๋ฌธ์ด๋ค.)
์ต์ ๊ฐ์ฒด์ ์๋ ์ฒซ๋ฒ์งธ ํ๋กํผํฐ๋ ์ฐ๋ฆฌ๊ฐ ์ด์ ์ ์๊ฒ ๋ method์ ๊ดํ ์ ๋ณด๋ฅผ ๋ด์ ํ๋กํผํฐ์ด๋ค.
์ต์ ๊ฐ์ฒด์ ์๋ ๋๋ฒ์งธ ํ๋กํผํฐ๋ ์ฐ๋ฆฌ๊ฐ ์ถ๊ฐํ ์๋ก์ด ์ ๋ณด๋ฅผ request๋ฐ๋์ ๋ด๊ธฐ ์ํด ์ถ๊ฐํ ํ๋กํผํฐ์ด๋ค.
๊ทธ๋ฐ๋ฐ ๋ฐ๋ก body:newMember๋ก ๋ด์ ์ ๋ ์์ง๋ง JSON.stringify๋ฅผ ์จ์ค ์ด์ ๋ JSON.parse๋ฅผ ์จ์ค ๋งฅ๋ฝ๊ณผ ๊ฐ์ ๋งฅ๋ฝ์ด๋ค.(JSON๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅธ๋ค๋ฉด ์ดํดํ์ง ๋ชปํ๋ค..)
JSON.parse๋ stringํ์ ์ json๋ฐ์ดํฐ๋ฅผ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ก ๋ณํํ๊ธฐ ์ํด์ ์จ์ค ๊ฒ์ด์ง๋ง ์ด๋ฒ์๋ json๋ฐ์ดํฐ๋ก ๋ง๋ค์ด์ค์ผ ํ๊ธฐ ๋๋ฌธ์ ์๋ก์ด ์ ๋ณด๋ฅผ ๋ด์ ๊ฐ์ฒด๋ฅผ stringํ์ ์ผ๋ก ๋ณํ์์ผ์ฃผ์ด์ผ ํ๋ค.
๊ทธ๋์ ์ด๋ฒ์๋ json๋ฉ์๋์ stringify๋ฅผ ์ด ๊ฒ์ด๋ค.
request Payload๋ผ๊ณ ์ฐ์ด ๋ถ๋ถ์ด ๋ฐ๋ก request์ body๋ฅผ ๋ํ๋ธ๋ค.
๊ทธ๋์ payload๋ถ๋ถ์ ๋ณด๋ฉด ์๊น newMember๋ผ๋ ๊ฐ์ฒดํํ๋ก ๋ด์ ์ ๋ณด๊ฐ ์ ์ถ๊ฐ ๋์ด Jsonํํ์ ๋ฐ์ดํฐ๋ก ์ ๋ค์ด๊ฐ ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
id๊ฐ์ด 2์ธ ๊ฐ์ฒด์์ department๋ฅผ marketing๋ถ์๋ก ์ฎ๊ฒผ๋ค๊ณ ๊ฐ์ ํด๋ณด๊ณ ์ ๋ณด๋ฅผ ์์ ํด๋ณด์
์๊น ์์์๋ ๋งํ๋ฏ์ด ํน์ ์ ๋ณด๋ฅผ ์์ ํ๊ฑฐ๋ ์ญ์ ํ๊ฑฐ๋ ์ ๊ทผํด์ผ ํ ๋๋ url์ ๋ ์์ธํ ์จ์ค์ผ ํ๋ค๊ณ ํ๋ค.๋ฐ๋ผ์ ํ์ฌ fetchํจ์์ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌ ๋ url์์ /2๊ฐ ์ถ๊ฐ ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ์๊น ๋ฐ์ดํฐ๋ฅด ์ถ๊ฐํ ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ต์ ๊ฐ์ฒด๋ฅผ ์์ฑํด์ฃผ๊ณ methodํ๋กํผํฐ๋ PUT์ผ๋ก ์ค์ ํด์ฃผ๊ณ ์์ ํ ๋ฐ์ดํฐ๋ฅผ ๋๋ฒ์งธ ํ๋กํผํฐ๋ก ์ ๋ฌํด์ฃผ๋ฉด ๋๋ค.
์์์๋ ๋งํ๋ฏ์ด delete ๋ฆฌํ์คํธ๋ url์ ํตํ์ฌ ํน์ ์ ๋ณด์ ์ ๊ทผ ํ ์ ์๊ธฐ ๋๋ฌธ์ body๋ถ๋ถ์ด ํ์ ์๋ค.
response๋ request์ ๋ง์ฐฌ๊ฐ์ง๋ก Head์ Body๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
response๊ฐ ์กฐ๊ธ ํน๋ณํ๊ฑด ์๋ฒ๊ฐ ์น์ด ์์ฒญํ ๋ฐ์ดํฐ๋ฅผ ์ ๋ด์๋์ง์ ๋ํ ์ํ์ ๋ณด๋ฅผ Head์ ๊ฐ์ด ๋ด์ ๋ณด๋ธ๋ค.