- /auth ๊ฒฝ๋ก์ ๋ก๊ทธ์ธ / ํ์๊ฐ์
๊ธฐ๋ฅ์ ๊ฐ๋ฐํฉ๋๋ค
- ๋ก๊ทธ์ธ, ํ์๊ฐ์ ์ ๋ณ๋์ ๊ฒฝ๋ก๋ก ๋ถ๋ฆฌํด๋ ๋ฌด๋ฐฉํฉ๋๋ค
- ์ต์ํ ์ด๋ฉ์ผ, ๋น๋ฐ๋ฒํธ input, ์ ์ถ button์ ๊ฐ๋๋ก ๊ตฌ์ฑํด์ฃผ์ธ์
- ์ด๋ฉ์ผ๊ณผ ๋น๋ฐ๋ฒํธ์ ์ ํจ์ฑ์ ํ์ธํฉ๋๋ค
- ์ด๋ฉ์ผ ์กฐ๊ฑด : ์ต์
@
,.
ํฌํจ - ๋น๋ฐ๋ฒํธ ์กฐ๊ฑด : 8์ ์ด์ ์ ๋ ฅ
- ์ด๋ฉ์ผ๊ณผ ๋น๋ฐ๋ฒํธ๊ฐ ๋ชจ๋ ์ ๋ ฅ๋์ด ์๊ณ , ์กฐ๊ฑด์ ๋ง์กฑํด์ผ ์ ์ถ ๋ฒํผ์ด ํ์ฑํ ๋๋๋ก ํด์ฃผ์ธ์
- ์ด๋ฉ์ผ ์กฐ๊ฑด : ์ต์
- ๋ก๊ทธ์ธ API๋ฅผ ํธ์ถํ๊ณ , ์ฌ๋ฐ๋ฅธ ์๋ต์ ๋ฐ์์ ๋ ๋ฃจํธ ๊ฒฝ๋ก๋ก ์ด๋์์ผ์ฃผ์ธ์
- ์๋ต์ผ๋ก ๋ฐ์ ํ ํฐ์ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ์ ์ฅํด์ฃผ์ธ์
- ๋ค์ ๋ฒ์ ๋ก๊ทธ์ธ ์ ํ ํฐ์ด ์กด์ฌํ๋ค๋ฉด ๋ฃจํธ ๊ฒฝ๋ก๋ก ๋ฆฌ๋ค์ด๋ ํธ ์์ผ์ฃผ์ธ์
- ์ด๋ค ๊ฒฝ์ฐ๋ ํ ํฐ์ด ์ ํจํ์ง ์๋ค๋ฉด ์ฌ์ฉ์์๊ฒ ์๋ฆฌ๊ณ ๋ก๊ทธ์ธ ํ์ด์ง๋ก ๋ฆฌ๋ค์ด๋ ํธ ์์ผ์ฃผ์ธ์
-
Todo List API๋ฅผ ํธ์ถํ์ฌ Todo List CRUD ๊ธฐ๋ฅ์ ๊ตฌํํด์ฃผ์ธ์
- ๋ชฉ๋ก / ์์ธ ์์ญ์ผ๋ก ๋๋์ด ๊ตฌํํด์ฃผ์ธ์
- Todo ๋ชฉ๋ก์ ๋ณผ ์ ์์ต๋๋ค.
- Todo ์ถ๊ฐ ๋ฒํผ์ ํด๋ฆญํ๋ฉด ํ ์ผ์ด ์ถ๊ฐ ๋ฉ๋๋ค.
- Todo ์์ ๋ฒํผ์ ํด๋ฆญํ๋ฉด ์์ ๋ชจ๋๋ฅผ ํ์ฑํํ๊ณ , ์์ ๋ด์ฉ์ ์ ์ถํ๊ฑฐ๋ ์ทจ์ํ ์ ์์ต๋๋ค.
- Todo ์ญ์ ๋ฒํผ์ ํด๋ฆญํ๋ฉด ํด๋น Todo๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค.
-
ํ ํ๋ฉด ๋ด์์ Todo List์ ๊ฐ๋ณ Todo์ ์์ธ๋ฅผ ํ์ธํ ์ ์๋๋ก ํด์ฃผ์ธ์.
- ์๋ก๊ณ ์นจ์ ํ์ ๋ ํ์ฌ ์ํ๊ฐ ์ ์ง๋์ด์ผ ํฉ๋๋ค.
- ๊ฐ๋ณ Todo๋ฅผ ์กฐํ ์์์ ๋ฐ๋ผ ํ์ด์ง ๋ค๋ก๊ฐ๊ธฐ๋ฅผ ํตํ์ฌ ์กฐํํ ์ ์๋๋ก ํด์ฃผ์ธ์.
-
ํ ํ์ด์ง ๋ด์์ ์๋ก๊ณ ์นจ ์์ด ๋ฐ์ดํฐ๊ฐ ์ ํฉ์ฑ์ ๊ฐ์ถ๋๋ก ๊ตฌํํด์ฃผ์ธ์
- ์์ ๋๋ Todo์ ๋ด์ฉ์ด ๋ชฉ๋ก์์๋ ์ค์๊ฐ์ผ๋ก ๋ฐ์๋์ด์ผ ํฉ๋๋ค
-
๋ก์ปฌ ์๋ฒ๋ฅผ ์คํํ์ ๋ ์์ฑ๋๋
db/db.json
์ด DB ์ญํ ์ ํ๊ฒ ๋ฉ๋๋ค. ํด๋น ํ์ผ์ ์ญ์ ํ๋ฉด DB๋ ์ด๊ธฐํ ๋ฉ๋๋ค. -
๋ก๊ทธ์ธ / ํ์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ์ ๋ฅผ DB์ ์ถ๊ฐํ๊ณ JWT ํ ํฐ์ ์๋ต์ผ๋ก ๋๋ ค์ค ๋ฟ, ์ค์ ์ ์ ๋ณ๋ก Todo ๋ชฉ๋ก์ ๊ด๊ณ ์ง์ด ๊ด๋ฆฌํ์ง๋ ์์ต๋๋ค. (๋ชจ๋ ์ ์ ๊ฐ ํ๋์ Todo๋ฅผ ๊ฐ์ง)
-
๋ก๊ทธ์์์ ํด๋ผ์ด์ธํธ ๋จ์์ localStorage์ ์ ์ฅ๋ token์ ์ญ์ ํ๋ ๋ฐฉ์์ผ๋ก ๊ฐ๋จํ ๊ตฌํํด์ฃผ์ธ์.
> yarn
> yarn start # http://localhost:8080
- GET
/todos
- Headers
- Authorization: login token
{
"data": [
{
"title": "hi",
"content": "hello",
"id": "z3FGrcRL55qDCFnP4KRtn",
"createdAt": "2022-07-24T14:15:55.537Z",
"updatedAt": "2022-07-24T14:15:55.537Z"
},
{
"title": "hi",
"content": "hello",
"id": "z3FGrcRL55qDCFnP4KRtn",
"createdAt": "2022-07-24T14:15:55.537Z",
"updatedAt": "2022-07-24T14:15:55.537Z"
}
]
}
- GET
/todos/:id
- Headers
- Authorization: login token
{
"data": {
"title": "hi",
"content": "hello",
"id": "z3FGrcRL55qDCFnP4KRtn",
"createdAt": "2022-07-24T14:15:55.537Z",
"updatedAt": "2022-07-24T14:15:55.537Z"
}
}
- POST
/todos
- Parameter
- title: string
- content: string
- Headers
- Authorization: login token
{
"data": {
"title": "hi",
"content": "hello",
"id": "z3FGrcRL55qDCFnP4KRtn",
"createdAt": "2022-07-24T14:15:55.537Z",
"updatedAt": "2022-07-24T14:15:55.537Z"
}
}
- PUT
/todos/:id
- Parameter
- title: string
- content: string
- Headers
- Authorization: login token
{
"data": {
"title": "์ ๋ชฉ ๋ณ๊ฒฝ",
"content": "๋ด์ฉ ๋ณ๊ฒฝ",
"id": "RMfi3XyOKoI5zd0A_bsPL",
"createdAt": "2022-07-24T14:25:48.627Z",
"updatedAt": "2022-07-24T14:25:48.627Z"
}
}
- DELETE
/todos/:id
- Headers
- Authorization: login token
{
"data": null
}
- POST
/users/login
- Parameter
- email: string
- password: string
{
"message": "์ฑ๊ณต์ ์ผ๋ก ๋ก๊ทธ์ธ ํ์ต๋๋ค",
"token": "eyJhbGciOiJIUzI1NiJ9.YXNkZkBhc2RmYXNkZi5jb20.h-oLZnV0pCeNKa_AM3ilQzerD2Uj7bKUn1xDft5DzOk"
}
- POST
/users/create
- Parameter
- email: string
- password: string
{
"message": "๊ณ์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์์ฑ๋์์ต๋๋ค",
"token": "eyJhbGciOiJIUzI1NiJ9.YXNkZkBhc2RmYXNkZi5jb20.h-oLZnV0pCeNKa_AM3ilQzerD2Uj7bKUn1xDft5DzOk"
}