Go๋ฅผ ์ด์ฉํ Todo List์ ๊ฐ๋ฐ ํ๋ก์ ํธ์
๋๋ค.
Go๋ฅผ ์ด์ฉํ์ฌ์ CRUD ๋ฐ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋
์ ๋ํด์ ๊ณต๋ถ ๊ฒธ ๊ฐ๋ฐ ํ๋ก์ ํธ์
๋๋ค.
ํ๋ก์ ํธ๋ฅผ ์ข ๋ฃ ํ์์ต๋๋ค. ํ์ฌ ๋ฐฑ์๋์์์ CRUD์ ํด๋นํ๋ ๋ชจ๋ ํ๋ก์ธ์ค๋ ๊ฐ๋ฐ ์๋ฃ ํ์์ต๋๋ค.
ํ๋ก ํธ์๋ ๊ฒฝ์ฐ์๋ ์์ง ๊ฒฝํ์ด ์ ๋ฌดํ์ฌ ์ถํ์ ์ ๋ฐ์ดํธ ์ํฌ ์์ ์ ๋๋ค.
-
/todo
: ์๋ก์ด TODO ๋ฆฌ์คํธ ์ถ๊ฐํ๊ธฐ / POST-
/todo
:index.html
๋ฅผ ํตํ ๋ฆฌ์คํธ ์ถ๊ฐํ๊ธฐ / POST
-
-
/todo
: TODO ์ ์ฒด ๋ฆฌ์คํธ ์ถ๋ ฅํ๊ธฐ / GET -
/todo/{id:[0-9]+}
: id ํด๋นํ TODO ๋ฆฌ์คํธ ์ถ๋ ฅํ๊ธฐ / GET -
/todo{id:[0-9]+}
: TODO ๋ฆฌ์คํธ ์ง์ฐ๊ธฐ / DELETE -
/todo
: TODO ๋ฆฌ์คํธ ์ ๋ฐ์ดํธ / PUT-
/todo/{id:[0-9]+}
: Boolํ์ ํตํด์ TODO ํญ๋ชฉ ์ํ ์ ๋ฐ์ดํธํ๋๋ก ์ ์ / PUT -
/todo/{id:[0-9]+}
: TODOLIST Content ์์ ํ ์ ์๋๋ก ์ ์ / PUT
-
-
/todo
:index.html
๋ฅผ ํตํ ๋ฆฌ์คํธ ์ถ๋ ฅํ๊ธฐ -
index.html
: ๊ฐ ํญ๋ชฉ๋ง๋ค ๋ฐ๋ก๋ฐ๋ก ํ์ -
index.html
: API JSONid
๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ -
index.html
: TODO ํญ๋ชฉ ํ๋ก ํธ์๋์์ ์ญ์ ๊ฐ๋ฅํ๋๋ก ์ ์ -
index.html
: ์ฒดํฌ ๋ฐ์ค๋ฅผ ์ด์ฉํ์ฌ์ Completed ํญ๋ชฉ์ ๋ํ ์์ / ์๋ฃ๋์๋์ง ์ ์๋ฃ๋์์ง
๋ฌด์์ด ๋ ํจ๊ณผ์ ์ผ๋ก ๊ฐ๋ฐํ ์ ์๊ณ ๊ฐ๋ ์ฑ ์ข์ API๋ฅผ ๋ง๋ค์ด์ผ ํ๋์ง์ ๋ํด์ ๊ณ ๋ฏผํ๊ณ ์์ต๋๋ค.
URL | Methods | ์ค๋ช |
---|---|---|
/ |
GET | index.html ์ ๋ํด์ ํ๋ฉด์ ํ์ํฉ๋๋ค. |
/todo |
GET | ์ถ๊ฐ๋ TODO ํญ๋ชฉ ์ ์ฒด๋ฅผ ์ถ๋ ฅํฉ๋๋ค. |
/todo |
POST | ์๋ก์ด TODO ํญ๋ชฉ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. |
/todo/{id:[0-9]+} |
GET | TODO ํญ๋ชฉ์ id๋ฅผ ์ฐธ๊ณ ํ์ฌ ํด๋น ID๋ง ์ถ๋ ฅํฉ๋๋ค. |
/todo/edit/{id:[0-9]+} |
GET | ๊ธฐ์กด TODO ํญ๋ชฉ์ id๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ ํฉ๋๋ค.(ํ์ฌ ๋ง์์ ์ ๋๋ ๋ถ๋ถ์ด ์์ด์ ์์ ์ค...) |
/todo/{id:[0-9]+} |
DELETE | ๊ธฐ์กด TODO ํญ๋ชฉ์ id๋ฅผ ์ฐธ๊ณ ํ์ฌ์ ์ญ์ ํฉ๋๋ค. |
// Request | POST http://localhost:3000/todo
{
"content": "Hello"
}
// Respone
{
"id": 1,
"Content": "Hello",
"Completed": false,
"created_at": "2021-07-11T15:47:40.890708+09:00"
}
// Reqeust / GET http://localhost:3000/todo/1
// Respone
{
"id": 1,
"Content": "์ด๊ฒ์ ํ
์คํธ~",
"Completed": false,
"created_at": "2021-07-11T22:14:31.615345+09:00"
}
todo์ ์ถ๊ฐ๋ ํญ๋ชฉ๋ค์ ๋ค ๋ณด์ฌ์ค๋๋ค.
// Reqeust / GET http://localhost:3000/todo
// Respone
[
{
"id": 1,
"Content": "์ด๊ฒ์ ํ
์คํธ~",
"Completed": false,
"created_at": "2021-07-12T18:57:16.710946+09:00"
},
{
"id": 2,
"Content": "์ด๊ฒ์ ํ
์คํธ~",
"Completed": false,
"created_at": "2021-07-12T18:57:17.115232+09:00"
},
{
"id": 3,
"Content": "์ด๊ฒ์ ํ
์คํธ~",
"Completed": false,
"created_at": "2021-07-12T18:57:17.899493+09:00"
}
]
// Reqeust / DLETET http://localhost:3000/todo/1
// Respone
DLETET TODO LIST ID:1