Today I Learn 220420
์ค๋์ Django REST Framework๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ ๋ค. ์ด์ ๊น์ง๋ Django์ MVTmodel์ ์ฌ์ฉํ๋๋ฐ, REST Framework๋ฅผ ์ด์ฉํ๋ฉด T(templates)๋ฅผ ๋ง๋ค ํ์ ์์ด ๊ตฌํํ ์ ์๋ค!
์ด์ ๊น์ง ํ ํ๋ฆฟ์ ์์ฑํ๋๊ฒ ์ฝ๊ฐ ๊ท์ฐฎ์ ์์ ์ด๋ผ๊ณ ์๊ฐํ๋๋ฐ, Django์๋ REST Framework๋ผ๋ ์ข์ ํ๋ ์ ์ํฌ๊ฐ ์๋๊ฒ์ด์๋ค!
์ด์ ์๋ ModelForm์ ์์ฑํด ์ฃผ์๋๋ฐ, ์ด๋ฒ์๋ ModelForm๋์ฐ Serializers.py๋ฅผ ๋ง๋ค์ด ์์ฑํด์ฃผ์๋ค! ๋์ด ๋ค๋ฅธ๊ฑฐ ๊ฐ์ง๋ง ์์ธํ ๋ณด๋ฉด ๋น์ทํ ๋ฉด์ด ๋ง์๋ค.
Serializer๋ ์ฌ์ ์ ์๋ฏธ๋ก ์ง๋ ฌํ๋ผ๊ณ ํ๋๋ฐ, ๊ฐ๋จํ๊ฒ ํ์ด์ฌ ๋ฐ์ดํฐ๋ฅผ JSON ํ์ ์ ๋ฐ์ดํฐ๋ก ๋ณํํด์ค๋ค ์ ๋๋ก ์๊ฐํ๋ฉด ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์น์์ ํต์ ์ ํ ๋, ์ฆ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋๋ ์ด๋ ์ ๋ ์ ํด์ง ํฌ๋งท์ด ์๋ค. ๋ํ์ ์ธ ํ์ ์ด JSON์ด๋ XML์ธ๋ฐ, ๋๋ถ๋ถ์ REST API์์๋ JSON์ผ๋ก ์ฃผ๊ณ ๋ฐ๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๋ ๊ทธ๋ฅ JSON๋ง ์ ์๊ณ ์์ผ๋ฉด ๋๋ค.
์ฐ๋ฆฌ๊ฐ REST API๋ฅผ ์์ฃผ ๋ณผ ์ ์๋๊ฒ์ ์์ฆ ์ธํฐ๋ท ์ผํ์ ํ๋ค๋ณด๋ฉด ์์ฃผ ๋ง์ฃผ์น๋(๊ทธ ์ธ์๋ ๋ง์!) ์์ ๋ก๊ทธ์ธ ์ฐฝ์ด ๋ํ์ ์ธ ์์ด๋ค. ๋๋ถ๋ถ์ ์ฌ์ดํธ๋ค์ ๊ฐ๋ฐ์ํ์ด์ง๋ฅผ ์ ๊ณตํ์ฌ API๋ฅผ ๊ณต๊ฐํ๊ณ ์๋ค.
์์ ์ ๊ณต๊ณต๋ฐ์ดํฐ ์ธํด์ ํ๋ฉด์ ๊ณต๊ณตAPI์ ๋ํด ๋ค์ด๋ณด๊ธด ํ์ง๋ง ์ ๋ง ๋ค์ํ ๊ณณ์์ API๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค. ๊ทธ๋ ๋ค๋ฉด API๋ ๋ฌด์์ผ๊น? ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์กฐ์ํ๊ธฐ ์ํ ๋๊ตฌ๋ผ๊ณ ๋งํ ์ ์๋ค.
์ฐ๋ฆฌ๋ Django๋ฅผ ํตํด http method๋ฅผ get ๋๋ post๋ง์ ์ด์ฉํ๋๋ฐ, REST๋ URI๋ฅผ ํตํด ์์์ ๋ช ์ํ๊ณ **`HTTP Method(POST, GET, PUT, DELETE)๋ฅผ ํตํด ํด๋น ์์์ ๋ํ CRUD Operation์ ์ ์ฉํ๋ ๊ฒ์`** ๋ฐฐ์ ๋ค. ์ค๋ ํ๋ ์์ํฌ์ ๋ํด ๋ฐฐ์ฐ๋ฉด์ ์์ง๋ ๋ฐฐ์ธ๊ฒ ๋ง๊ตฌ๋ ๋ผ๋๊ฒ์ ๋ ํ๋ฒ ๊นจ๋ซ๋ ๊ณ๊ธฐ๊ฐ ๋์๋ค.
'๐๐จ๐๐๐ฒ ๐ ๐๐๐๐ซ๐ง' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐๐จ๐๐๐ฒ ๐ ๐๐๐๐ซ๐ง 2022.04.22.๊ธ (0) | 2022.04.22 |
---|---|
๐๐จ๐๐๐ฒ ๐ ๐๐๐๐ซ๐ง 2022.04.21.๋ชฉ (0) | 2022.04.21 |
๐๐จ๐๐๐ฒ ๐ ๐๐๐๐ซ๐ง 2022.04.19.ํ (0) | 2022.04.19 |
๐๐จ๐๐๐ฒ ๐ ๐๐๐๐ซ๐ง 2022.04.18.์ (0) | 2022.04.18 |
๐๐จ๐๐๐ฒ ๐ ๐๐๐๐ซ๐ง 2022.04.15.๊ธ (0) | 2022.04.15 |
๋๊ธ