๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • What would life be If we had no courage to attemp anything?
๐“๐จ๐๐š๐ฒ ๐ˆ ๐‹๐ž๐š๐ซ๐ง

๐“๐จ๐๐š๐ฒ ๐ˆ ๐‹๐ž๐š๐ซ๐ง 2022.04.20.์ˆ˜

by DevIseo 2022. 4. 20.

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์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์„`** ๋ฐฐ์› ๋‹ค. ์˜ค๋Š˜ ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•ด ๋ฐฐ์šฐ๋ฉด์„œ ์•„์ง๋„ ๋ฐฐ์šธ๊ฒŒ ๋งŽ๊ตฌ๋‚˜ ๋ผ๋Š”๊ฒƒ์„ ๋˜ ํ•œ๋ฒˆ ๊นจ๋‹ซ๋Š” ๊ณ„๊ธฐ๊ฐ€ ๋˜์—ˆ๋‹ค.

๋Œ“๊ธ€