๋ชจ๋ธ
์์ง๋ท์ปด ์ฌ์ดํธ์ ์๋ ๋์ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ ๋ชจ๋ธ์ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค.
๋ชจ๋ธ์ ์์ฑํ์์ผ๋ ๋ง์ด๊ทธ๋ ์ด์ ํด์ผ๊ฒ ์ฃ
์๋ฆฌ์ผ๋ผ์ด์
๋ชจ๋ธ์ ๋ง๋ค๊ณ , ๋ทฐ๋ฅผ ์์ฑํ๊ธฐ ์ , ๋ฐ๋ก ์ด ๋จ๊ณ์์ ์๋ฆฌ์ผ๋ผ์ด์ ๋ฅผ ๋ง๋ค๊ฒ ์ต๋๋ค.
์๋ฆฌ์ผ๋ผ์ด์ ๋ ํ์ด์ฌ ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฅผ JSON์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ ๋ณํ๊ธฐ์ด๊ธฐ ๋๋ฌธ์
๋ชจ๋ธ ๋ฐ์ดํฐ์ ์ด๋ค ์์ฑ์ JSON์ ๋ฃ์ด์ค์ง ์ ์ธ์ ํด์ค์ผ ํฉ๋๋ค.
JSON์๋ค๊ฐ ๋ชจ๋ธ์ ๋ชจ๋ ์์ฑ์ ๋ฃ์ง ์์ ์๋ ์์ผ๋๊น์,
์ธ๋ถ๋ก ๊ณต๊ฐ๋๋ API์ ๊ฒฝ์ฐ ๋๋์ฑ ๊ทธ๋ฐ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
๊ทธ๋์ ์๋ฆฌ์ผ๋ผ์ด์ ์๋ ํ๋๋ฅผ ์ ์ธํด ์ฃผ์ด์ผ ํฉ๋๋ค.
create()๋ update()๋ ๋์ค์ POST์์ฒญ์ผ๋ก ๋ค์ด์จ ๋ฐ์ดํฐ๋ฅผ ๋ค์ ํ์ด์ฌ ๋ชจ๋ธ ํํ๋ก
์ญ์ง๋ ฌํํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ง์ด๋ฃ์ ๋ ์ฌ์ฉ๋๋ ํจ์์ ๋๋ค.
์ํผ ์ด๋ฐ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ๊ฐ์ ๋ด์ฉ์ด ๋ฐ๋ณต๋๊ณ ์ฝ๋๊ฐ ๊ธธ๋ค๋ ๋๋์ด ๋ค์ง์?
๊ทธ๋์ ์ฐ๋ฆฌ๋ ๋ ๋์ ๋์์ธ serializers.ModelSerializer๋ฅผ ์ฌ์ฉํ ๊ฒ์ ๋๋ค.
์์ฒญ ๊ฐ๋จํด์ก์ฃ ?
ModelSerializer๋ ์ด๋ฆ์์ ์ ์ ์๋ฏ์ด ๋ชจ๋ธ์ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ ์๋ฆฌ์ผ๋ผ์ด์ ์ ๋๋ค.
์ด๋ฅผ ํตํด ์ฝ๋์ ์ค๋ณต์ ์ค์ผ ์ ์๊ณ , ํ๋ ์ ์ธ๋ ๋ชจ๋ธ์์ ์ด๋ฏธ ํ์ผ๋ ์๋ฆฌ์ผ๋ผ์ด์ ์์๋ ๊ฐ๋จํ๊ฒ ์์ ์ ๋ง์น ์ ์์ต๋๋ค.
์ด์ ๋ทฐ๋ฅผ ์์ฑํ ์ฐจ๋ก์ ๋๋ค.
๋ทฐ๋ ๊ฐ๋ ์ค๋ช ๊ณผ ํจ๊ป ์งํํ๊ฒ ์ต๋๋ค.
4.3.2 DRF FBV, CBV, API View
DRF ๋ฟ๋ง ์๋๋ผ ์ฅ๊ณ ์์๋ ํฌ๊ฒ ๋๊ฐ์ง ์ ํ์ผ๋ก ๋ทฐ๋ฅผ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
ํจ์๊ธฐ๋ฐ ๋ทฐ -> FBV
ํด๋์ค ๊ธฐ๋ฐ ๋ทฐ -> CBV
์ด ๋์ ๊ทธ์ ๋ทฐ๋ฅผ ์์ฑํ ๋ ํจ์๋ก ์์ฑํ๋์ง ํด๋์ค๋ก ์์ฑํ๋์ง์ ์ฐจ์ด์ผ๋ฟ ๊ธฐ๋ฅ ์ ์ฐจ์ด๋ ์์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด, ์ฐ๋ฆฌ๊ฐ ๊ทธ๋์ ์์ฑํ๋ ๋ทฐ๋ ๋ชจ๋ FBV(ํจ์๊ธฐ๋ฐ ๋ทฐ)๊ฒ ๋ค์!
์ด ๋์ ๊ณตํต์ ์ผ๋ก ๋์์ฃผ๋ ์น๊ตฌ๊ฐ ์์ต๋๋ค. ๋ฐ๋ก APIView๋ผ๋ ๊ฒ์ ๋๋ค.
APIView๋ ์ฌ๋ฌ ๊ฐ์ง ์์ฒญ์ ์ ํ์ ๋ํด ๋์ํ ์ ์๋๋ก ๋์์ค๋๋ค.
ํด๋์คํ ๋ทฐ์์๋ ๋ทฐ๋ฅผ ๋ง๋ค๋ APIView๋ผ๋ ํด๋์ค๋ฅผ ์์๋ฐ๋ ํด๋์ค์ ํํ๋ก ์์ฑํฉ๋๋ค.
์ด๋ฒ ๋จ์์ DRF๋ฅผ ๊ฐ๋ณ๊ฒ ์ตํ๋ณด๋ ๊ฒ์ ์์ผ๋, ๋์ ์ ๋ณด API๋ฅผ ๋น ๋ฅด๊ฒ ์์ฑํด๋ด ์๋ค!
์ด๋ ํํ์ ๋ทฐ๋ก ์์ฑํด๋ ์๊ด ์์ง๋ง, ์ดํด๋ฅผ ์ํด ๋ ๊ฐ์ง ๋ฐฉ๋ฒ ๋ชจ๋๋ก ๋๊ฐ์ด ์์ฑํด๋ณด๊ฒ ์ต๋๋ค.
๋์ ์ ๋ณด API๋ ์์ ์ดํด๋ดค๋ ๊ฒ์ฒ๋ผ
์ ์ฒด ๋์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API(GET/book/)์
bid์ ํด๋นํ๋ ๋์ 1๊ถ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API(GET/book/1/)๊ฐ ์์ต๋๋ค.
๋ํ ๋์ ์ ๋ณด๋ฅผ ๋ฑ๋กํ๋ API(POST/book/)๊น์ง ์์ต๋๋ค.
์ฌ๊ธฐ์ ํ๋ ๊ธฐ์ตํ๊ณ ๋์ด๊ฐ ๊ฒ์
์ ์ฒด ๋์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ API์
๋์ ์ ๋ณด๋ฅผ ๋ฑ๋กํ๋ API์ ์ฃผ์๊ฐ ๋์ผํ๊ฒ '/book/' ์ด๋ผ๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ผ ์ฝ๋๋ก ์์ฑํด๋ด ์๋ค! ๋จผ์ ํจ์ํ๋ทฐ (FBV)๋ก ์์ฑํ ์ฝ๋์ ๋๋ค.
์ผ๋จ /book/ ์ฃผ์๋ฅผ ์ฌ์ฉํ ๋ API์ ๋ํ ์ฒ๋ฆฌ๋ booksAPI()๋ผ๋ ํจ์์์ ํ ๋ฒ์ ์ฒ๋ฆฌํ๊ณ ์์ต๋๋ค.
๋ฐ์ฝ๋ ์ดํฐ๋ก GET, POST๋ฅผ ํจ๊ป ์ฒ๋ฆฌํ ์ ์๋๋ก ์ค์ ํด์ฃผ์๊ณ ,
์กฐ๊ฑด๋ฌธ์ ํตํด ํด๋น ์์ฒญ์ด GET์ธ์ง POST์ธ์ง์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ฒ๋ฆฌํ๊ณ ์์ต๋๋ค.
GET ์์ฒญ์
๋์ ์ ์ฒด ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ฏ๋ก ๋ชจ๋ธ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ์๋ฆฌ์ผ๋ผ์ด์ ์ ์ง์ด๋ฃ์ด ์ง๋ ฌํ๋ฅผ ํ๊ณ
๊ทธ๋ ๊ฒ ๊ฐ๊ณต๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒฐ๊ณผ๋ก ์๋ตํฉ๋๋ค.
๋ฐ์ดํฐ๋ฅผ ์ ๊ฐ์ ธ์์ผ๋ฉด 200 ๋ฉ์์ง๋ฅผ ๋ณด๋ ๋๋ค.
POST ์์ฒญ์ ๋ํด์๋
์คํ๋ ค ์์ฒญ์ผ๋ก ๋ค์ด์จ ๋ฐ์ดํฐ๋ฅผ ์ญ์ง๋ ฌํํ์ฌ ๋ชจ๋ธ์ ์ง์ด๋ฃ์ด์ผ ํ๋ฏ๋ก ๋จผ์ ์๋ฆฌ์ผ๋ผ์ด์ ์ request.data๋ฅผ ๋ฃ์ต๋๋ค.
๋ค์์ผ๋ก๋
bookAPI() ํจ์์ ๋๋ค. ์ฌ๊ธฐ์๋ ํน์ bid์ ์ฑ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
4.3.3 ๋์ ์ ๋ณด API ๋ง๋ฌด๋ฆฌ ํ๊ธฐ
์ด์ URL์ ์ฐ๊ฒฐํ์ฌ ๋์ ์ ๋ณด API ์์ ๋ฅผ ์์ฑํ๊ฒ ์ต๋๋ค.
๋ทฐ๋ฅผ ๋ชจ๋ URL์ ์ฐ๊ฒฐํด ๋ณด๊ฒ ์ต๋๋ค.
example ์ฑ์ urls.py๋ฅผ ์ด์ด ์๋ ๋ด์ฉ์ ์์ฑํฉ๋๋ค.
์คํํด๋ณด๋ ์์ฒ๋ผ ๋์ค๋ค์,
์์ง ๋์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ์ง ์์๊ธฐ ๋๋ฌธ์ ๋น ๊ฒฐ๊ณผ๊ฐ ๋์ฐฉํ๊ณ , ์ด ์ฃผ์๋ก POST ์์ฒญ์ ๋ณด๋ผ ์ ์๊ธฐ ๋๋ฌธ์
POST ์์ฒญ์ ์ํ ํผ์ด ๋ํ๋ฉ๋๋ค.
๊ทธ๋ผ POST ๊ธฐ๋ฅ๋ ํ ๋ฒ ํ์ฉํด๋ณด๊ฒ ์ต๋๋ค.
์์ ๊ฐ์ JSON ํ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ
์ค๋ฅธ์ชฝ ํ๋จ์ POST ๋ฒํผ์ ๋๋ฅด๊ฒ ์ต๋๋ค.
๊ทธ๋ฌ๋ฉด ?
POST ์์ฒญ์ ๋ณด๋ด๊ณ ์ฒ๋ฆฌ๊ฐ ์๋ฃ๋ ํ์ ๋ค์ /fbv/books/๋ก GET์์ฒญ์ ๋ณด๋ด๊ฒ ๋ ํ๋ฉด์ ๋๋ค.
์๊น๋ ๋ฐ์ดํฐ๊ฐ ์์๋๋ฐ, ๋ฐฉ๊ธ ์ฐ๋ฆฌ๊ฐ ๋ฐ์ดํฐ๋ฅผ POST๋ก ์ถ๊ฐํ์๊ธฐ ๋๋ฌธ์ ๋ค์ GET ์์ฒญ ํ๋ฉด์์ ๋ฐ์ดํฐ๊ฐ ๋ณด์ด๊ฒ ๋ ๊ฒ์ ๋๋ค.
์ด๋ฐ ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ๊ฐ ์ถ๊ฐํ ์ ์์ต๋๋ค.
์ด๋ฒ์๋ bid๊ฐ์ผ๋ก ์ฑ ์ ์ฐพ์๋ณด๊ฒ ์ต๋๋ค.
์ฃผ์์ฐฝ์ ์๋์ ๊ฐ์ด ์ ๋ ฅํฉ๋๋ค.
http://127.0.0.1:8000/example/fbv/book/1/
์ ์ฃผ์๋ก ๋ค์ด๊ฐ๋ bid๊ฐ 1์ธ ๋์์ ์ ๋ณด๊ฐ ๋ํ๋ฉ๋๋ค.
์ฐ๋ฆฌ์ ํจ์ํ ๋ทฐ API๊ฐ ๋ชจ๋ ์ ์ ์๋ํ๋ ๊ฒ์ ํ์ธํ์์ต๋๋ค.
๊ทธ๋์ ํจ์ํ ๋ทฐ์ ํด๋์คํ ๋ทฐ์ ๋ํด ๋ฐฐ์๋ณด์์ต๋๋ค.
์ด๋ค์ ์๋ฆฌ์ผ๋ผ์ด์ ์ ์ฐ๊ฒฐํ๊ณ , ์๋ฆฌ์ผ๋ผ์ด์ ๋ ๋ชจ๋ธ๊ณผ ์ฐ๊ฒฐ๋์ด ์ ์๋ํ๋ ๊ฒ๊น์ง ํ์ธํ์์ต๋๋ค.
์ด ๋ค ๋ชจ๋ ๊ฒฐ๊ตญ์ ๊ฐ request์ method์ ๋ฐ๋ผ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋๋ก ์์ฑ๋ฉ๋๋ค.
์ด๋ ๊ฐ์ URL์ ์ฐ๋ ๋ฉ์๋๋ค์ ํ๋์ ํน์ ํด๋์ค๋ก ๋ฌถ์ฌ ๊ทธ๋๋ก URL์ ์ฐ๊ฒฐ๋ฉ๋๋ค.
์ด์ Django REST Framework์ ๊ธฐ์ด ๋ด์ฉ์ ๋ชจ๋ ๋ฐฐ์ ์ต๋๋ค.
์์ฃผ ๊ฐ๋จํ๊ฒ๋๋ง ์ฐ๋ฆฌ๋ API ์๋ฒ์ ๋ง๋ค ์ ์์์ต๋๋ค.
์ด์ ๋ถํฐ ์๋์์ ๋ฐฐ์ธ ๋ด์ฉ์ ์๋ฉด ์์ฃผ ์ ์ฉํ DRF์ ๊ธฐ๋ฅ๋ค์ ๋๋ค.
DRF์ ๊ฐ๋ฐ ์ ์ฐจ๋ฅผ ํ ๋ฒ ๋ ๋ณต์ตํ๊ณ ๋์ด๊ฐ๊ฒ ์ต๋๋ค.
Model -> Serializers -> Views -> Urls(๋ค์ Serializers)
DRF์ ๊ธฐ๋ณธ ํ์ด์ง๋ก API ํ ์คํธ๋ฅผ ํ๋ ๊ฒ๋ ๋์์ง๋ ์์ง๋ง, ์ด๋๊น์ง๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ํ์ฉํ๋ ๋ฐฉ์์ด๋ผ ๋ถํธํ ์ ์์
APIํ ์คํธ๋ฅผ ์ํ ์ ์ฉ ํ๋ก๊ทธ๋จ์ด ๋ช๊ฐ์ง ์๋๋ฐ,
Insomnia๋ผ๋ ๋ฌด๋ฃ ํด ์ถ์ฒ,
+๋ฒํผ์ ํด๋ฆญํ๊ณ New Folder๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํด๋๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํฉ๋๋ค.
New Request๋ฅผ ์ ํํ์ต๋๋ค.
์์ฒญ์ ์ด๋ฆ๊ณผ ๋ฉ์๋๋ฅผ ์ ํํ์ฌ ์์ฑํ ์ ์์ต๋๋ค.
์ผ๋จ GET์์ฒญ์ ๋ง๋ค ๊ฒ์ด๊ณ ,
๋น์นธ์ผ๋ก ๋๊ณ ์์ฑํ๋ฉด ์์ฒญ์ ์ฃผ์๊ฐ ์ด๋ฆ์ด ๋๋ค๊ณ ์ ํ์์ผ๋ ๋น ์นธ์ผ๋ก ๋ง๋ญ์๋ค.
๋งจ ์์ ์ฃผ์๋ฅผ ์ ๋ ฅํ๋ ๊ณณ์ ์ฐ๋ฆฌ์ API ์ฃผ์๋ฅผ ์ ๋ ฅํฉ๋๋ค.
http://127.0.0.1:8000/example/fbv/books/
send๋ฅผ ๋๋ฅด๋ฉด 200 OK์ ํจ๊ป ์ฐ๋ฆฌ์ ๋์ ๋ฐ์ดํฐ๊ฐ ์ ๋์ฐฉํฉ๋๋ค.
์ด๋ฒ์ POST ์์ฒญ์ ํด๋ณผ๊น์?
POST๋ก ์ค์ ํ๊ณ body์ ์์์ JSON์ผ๋ก ์ค์ ํฉ๋๋ค.
์์ ์ ๋ ฅํ๊ฒ๊ณผ ๊ฐ์ JSON์ ์ ๋ ฅํฉ๋๋ค.
send๋ฅผ ๋๋ฌ ์คํํ๋ฉด?
์คํ๊ฒฐ๊ณผ 201 created๊ฐ ๋์ค๋ฉฐ ์ ์์ฑ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
๋ค์ GET์ ์คํํด ์ ๋ค์ด๊ฐ๋ ์ง ํ์ธํด ๋ณด๋ฉด?
4.4 Django REST Framework ์ฌํ ๊ฐ๋ ๋ณด์ถฉํ๊ธฐ
4.4.1 DRF์ ๋ค์ํ ๋ทฐ
DRF์์ ์์ฑํ๋ ๋ทฐ๋ ํฌ๊ฒ ํจ์ํ ๋ทฐ์ ํด๋์คํ ๋ทฐ๋ก ๋๋ ์ ์์์ต๋๋ค.
ํด๋ผ์ด์ธํธ ์ธก์์ ์ฐ๋ฆฌ API๋ก ์์ฒญ์ ๋ณด๋ผ ๋์๋ URL๊ณผ Method๋ฅผ ์กฐํฉํ์ฌ ์์ฒญ์ ๋ณด๋ด๋๋ฐ,
์ด๋ ๊ฐ์ URL ๋ด์ ์ฌ๋ฌ Method๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํจ์ํ๊ณผ ํด๋์คํ์ด ๊ตฌ๋ถ๋์์ต๋๋ค.
๊ฒฐ๊ตญ ๊ฐ์ ์ผ์ ํ๋ ๋๊ฐ์ง ๋ฐฉ๋ฒ์ด๋ผ๋ ๋ป์ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด URL๊ณผ Method์ ์กฐํฉ ์ ๋ช๊ฐ์ง ์ ๋ ์์๊น์?
5๊ฐ์ง ์ ๋ ๋์ต๋๋ค.
์ด ์ ๋๋ฉด ๋ชจ๋ ์์ฒญ์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ํด์ค ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ญ๋๋ค.
๊ฐ URL ์์ ๋ถ์ ๋จ์ด๋ค์ด ๊ฐ ๊ธฐ๋ฅ๋ณ ๋๋ค์์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋ฉ๋๋ค.
์ด๋ค ๋ชจ๋ธ์ ๋ํด retrieve๋ฅผ ํ๋ค๊ณ ํ๋ฉด ์ฐ๋ฆฌ๋ ๊ทธ ๋ชจ๋ธ์ 1๊ฐ ๊ฐ์ฒด ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ๋ค๊ณ ์๊ฐํ๋ฉด ๋๊ฒ ์ต๋๋ค.
DRF๋ก API๋ฅผ ๊ฐ๋ฐํ ๋ ๋ง๋ค์ด์ผ ํ๋ ๊ธฐ๋ฅ์ ์ 5๊ฐ์ง๊ฐ ์ ๋ถ์ ๋๋ค.
์ด 5๊ฐ์ง ๊ธฐ๋ฅ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ํจ์ํ ๋ทฐ์ ํด๋์คํ ๋ทฐ๊ฐ ์์์ต๋๋ค.
์ด๋ ๋ชจ๋ธ API ๋ง๋ค๊ธฐ์์ ๊ณตํต์ ์ผ๋ก ์ฐ์ด๋ ๊ธฐ๋ฅ์ด๋ฏ๋ก ๊ฐ๋ฐ์๋ค์ ์ด๋ฅผ ์ต๋ํ ํธํ๊ณ ์ฝ๊ฒ ๋ง๋ค๊ณ ์ ํ์์ต๋๋ค.
์ด๋ค ๊ณผ์ ์ ๊ฑฐ์ณ ๋ฐ์ ํ์๋์ง mixins, generics, Viewset ๊น์ง ํ๋ํ๋ ๋ฐฐ์๋ด ์๋ค.
4.4.2 DRF mixins
mixins ๋ APIView์์ request์ method๋ง๋ค ์๋ฆฌ์ผ๋ผ์ด์ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ ์ค์ด๊ธฐ ์ํด
ํด๋์ค ๋ ๋ฒจ์์ ์๋ฆฌ์ผ๋ผ์ด์ ๋ฅผ ๋ฑ๋กํ๊ณ ์์ต๋๋ค.
๊ฐ method์๋ ์๋ฆฌ์ผ๋ผ์ด์ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋์
๊ฐ method๋ณ mixin์ ์ฐ๊ฒฐํ์ฌ ์ฌ์ฉํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
4.4.3 DRF generics
mixins ๋ฐฉ๋ฒ์์ ์ฌ์ฉํ mixins๋ฅผ ์์๋ฐ๋๋ฐ ํ ๋ฒ์ 2~3๊ฐ ์ฉ ์์์ ๋ฐ์์ผ ํ๋ ์ด๊ฒ ๋๋ฌด ๋ฒ๊ฑฐ๋ก์ด ๊ฒ
4.4.4 DRF Viewset & Router
generics ๋ง์ผ๋ก ์ถฉ๋ถํ ์ฝ๋๋ฅผ ๊ฐ์ํ ํ์์ง๋ง, ๋ ์ค์ผ ์ ์๋ ๋ถ๋ถ์ด ์์ต๋๋ค.
queryset์ด๋ serializer_class ๋ถ๋ถ์ด ๊ฒน์น๊ฒ ๋์์ต๋๋ค.
ํ๋์ ํด๋์ค๋ก ํ๋์ ๋ชจ๋ธ์ ์ ๋ถ ์ฒ๋ฆฌํด์ค ์ ์์ผ๋ฉด ๊ฒน์น๋ ๋ถ๋ถ์ด ์์ด์ง ๊ฒ์ ๋๋ค.
Viewset์์๋ ๊ทธ๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
์ง๊ธ๊น์ง DRF์ ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ ๋ฐฐ์๋ณด์์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ๊ทธ๋์ ๋ฐฐ์๋ณด์์ต๋๋ค.
๋ค์ ์ฅ๋ถํฐ ๋ง๋ค ํ๋ก์ ํธ๋ ๊ฝค ํฐ ํ๋ก์ ํธ๋ก, ์ค์ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ก์ ํ๋ก ํธ์๋์
์ฐ๋ํ๋ ๊ณผ์ ๊น์ง ๋ค๋ฃจ๋ ๋ฐฉ๋ํ ๋ด์ฉ์ ํฌํจํ ํ๋ก์ ํธ ์ ๋๋ค.
๋ฐฑ์๋๋ฅผ ์ํ Django REST Framework with ํ์ด์ฌ
COUPANG
www.coupang.com
"์ด ํฌ์คํ ์ ์ฟ ํก ํํธ๋์ค ํ๋์ ์ผํ์ผ๋ก, ์ด์ ๋ฐ๋ฅธ ์ผ์ ์ก์ ์์๋ฃ๋ฅผ ์ ๊ณต๋ฐ์ต๋๋ค."
'๐ฆ๋ฉ์์ด ์ฌ์์ฒ๋ผ 11๊ธฐ > ๋ฐฑ์๋๋ฅผ ์ํ Django Rest Framework' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Chapter6 ์ค์ ํ๋ก์ ํธ! Django REST Framework + React.js ๊ฒ์ํ ๋ง๋ค๊ธฐ -1 (0) | 2023.05.11 |
---|---|
Chapter5 ์ฐ์ต ํ๋ก์ ํธ : Todo ๋ชฉ๋ก API ๋ง๋ค๊ธฐ (0) | 2023.05.02 |
Chapter 4 - 4.2 Django REST Framework ํ๋ก์ ํธ ๊ตฌ์กฐ ์ดํด๋ณด๊ธฐ (0) | 2023.04.13 |
Chapter4 Django REST Framework ์ปจ์ ์ตํ๊ธฐ (0) | 2023.04.10 |
Chapter3 Django๋ก Todo ๋ชฉ๋ก ์น ์๋น์ค ๋ง๋ค๊ธฐ (0) | 2023.04.07 |