๐ย Target
๐ก ์ฅ๊ณ ์ฌํ ๊ฐ์๋ฅผ ๋ค์ ์บ ํผERD ํด์ ์ฌ์ฉํด User, Todo ํ
์ด๋ธ ์ค๊ณํ๊ธฐ
postman์ผ๋ก ํ
์คํธ ํ ์ ์๋ API๋ก ๊ตฌ์ฑ๋ Todo List ํ๋ก์ ํธ ๋ง๋ค๊ธฐ
(ํ ๊ณผ์ ๋ ๊ธฐ๋ฅ์ ์ธ ์๋ฌ์ ๋ชฉํ๋ก ํ๊ธฐ ๋๋ฌธ์ ํ๋ก ํธ๋ ๋ง๋ค์ง ์์๋ ๋ฉ๋๋ค.)
djangorestframework
์๋ฆฌ์ผ๋ผ์ด์ , ๋ชจ๋ธ ์ฟผ๋ฆฌ์
์ฌ์ฉPOST
์์ฒญ ์ ํ์๊ฐ์
์ด ๋์ด์ผ ํฉ๋๋ค.POST
์์ฒญ ์ ์ฅ๊ณ ์ธ์
๊ธฐ๋ฅ์ ์ด์ฉํด ๋ก๊ทธ์ธ์ด ๋์ด์ผ ํฉ๋๋ค.POST
์์ฒญ ์ ์ธ์
์ ๋ณด๋ฅผ ์ญ์ ํด ๋ก๊ทธ์์์ด ๋์ด์ผ ํฉ๋๋ค.PUT
์์ฒญ ์ ์์ด๋๋ฅผ ์ ์ธํ ๋ชจ๋ ํ์ ์ ๋ณด๋ฅผ ์์ ํ ์ ์์ด์ผ ํฉ๋๋ค.DELETE
์์ฒญ ์ ๊ณ์ ์ ์ญ์ ํฉ๋๋ค(ํํด).์ฌ์ฉ์๊ฐ ํ ์ผ(Todo)์ ๋ง๋ค ์ ์์ด์ผ ํฉ๋๋ค.
boolean
์ด๋ฉฐ default false ์ค์ ์ ํฉ๋๋ค. POST
์์ฒญ ์ ํ ์ผ์ด ์์ฑ๋์ด์ผ ํฉ๋๋ค.์ฌ์ฉ์๊ฐ ํ ์ผ ๋ชฉ๋ก(Todo list)์ ์กฐํํ ์ ์์ด์ผํฉ๋๋ค.
GET
์์ฒญ ์ ํ ์ผ ๋ชฉ๋ก์ ์กฐํํ ์ ์์ด์ผํฉ๋๋ค.[
{
"id": 1,
"title": "๊ณผ์ ํ๊ธฐ",
"is_complete": "True",
"created_at": "2023-04-01",
"updated_at": "",
"completion_at": "2023-04-05",
},
{
"id": 2,
"title": "๊ณต๋ถํ๊ธฐ",
"is_complete": "False",
"created_at": "2023-04-02",
"updated_at": "2023-04-03",
"completion_at": ""
},
...
]
์ฌ์ฉ์๊ฐ ํ ์ผ(Todo)์ ์์ ํ ์ ์์ด์ผํฉ๋๋ค.
PUT
์์ฒญ ์ ํ ์ผ ์ ๋ณด๋ฅผ ์์ ํ ์ ์์ด์ผํฉ๋๋ค.์ฌ์ฉ์๊ฐ ํ ์ผ(Todo)์ ์ญ์ ํ ์ ์์ด์ผํฉ๋๋ค.
DELETE
์์ฒญ ์ ํ ์ผ์ ์ญ์ ํฉ๋๋ค.์ถ๊ฐ ์๊ตฌ์ฌํญ (๊ถํ) - option1
๐ก ๊ธฐ๋ณธ ์๊ตฌ์ฌํญ์ ์ถฉ๋ถํ ๊ตฌํํ๋๋ฐ ์๊ฐ์ด ๋จ๋๋ค๋ฉด ์ถ๊ฐ ์๊ตฌ์ฌํญ์ ๊ฐ๋ฐํด๋ณด์์!
๋ณธ์ธ์ด ์์ฑ์๊ฐ ์๋์๋ ๋ค๋ฅธ์ฌ๋์ ๊ธฐ๋ก์ ์กฐํ, ์์ , ์ญ์ ํ ์ ์๋ค๋ฉด ๊ฐ์ธ์ ๋ณด ์ ์ถ, ํดํน ๋ฑ์ ์ด์๊ฐ ์๊ธธ ์์์ต๋๋ค
์์ ๋ง๋ ๊ธฐ๋ฅ์ ์์ฑ์ ๋ณธ์ธ๋ง ์กฐํ, ์์ , ์ญ์ ํ ์ ์๋๋ก ๊ถํ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํด๋ด ์๋ค.
์ถ๊ฐ ์๊ตฌ์ฌํญ (JWT ๊ธฐ๋ฐ ์ธ์ฆ) - option2
๐ก ๊ธฐ๋ณธ ์๊ตฌ์ฌํญ์ ์ถฉ๋ถํ ๊ตฌํํ๋๋ฐ ์๊ฐ์ด ๋จ๋๋ค๋ฉด ์ถ๊ฐ ์๊ตฌ์ฌํญ์ ๊ฐ๋ฐํด๋ณด์์!
์ง๊ธ๊น์ง ์ฟ ํค๋ฅผ ์ฌ์ฉํ๋ ์ธ์ ๋ฐฉ์ ๋ก๊ทธ์ธ์ ๊ตฌํํ๋ค๋ฉด ์ด๋ฒ์ ํ ํฐ์ ์ฌ์ฉํ๋ JWT ๋ฐฉ์์ผ๋ก access ํ ํฐ๊ณผ refresh ํ ํฐ์ ๋ฐ๊ธ๋ฐ์๋ด ์๋ค.
djangorestframework_simplejwt
๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ ๊ถ์ฅ ํฉ๋๋ค.
์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ์ ํ ์ ์์ด์ผ ํฉ๋๋ค.
POST
์์ฒญ ์(๋ก๊ทธ์ธ) ๋ฆฌํด ๊ฐ์ผ๋ก jwt refresh, access ํ ํฐ์ ๋ฐ์ ์ ์์ด์ผ ํฉ๋๋ค.{
"refresh": "eyFDFJJagGENHA5I1NiIsdsfFD9POkpXVCD5.dAJzSsdfFD55xMjEENTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWIjoxFDPIELCOIDIyfQ.dFD44wRJSMDS454T4fasdfMeJf646dsfsDFFDDS54fe4",
"access": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
๐ย ์ฐธ๊ณ ์๋ฃ