ํ์ ๊ธฐ๋ฅ(Lv2, DB์ฐ๊ฒฐ ๋ณด๋ฅ...)๊น์ง๋ง ๊ตฌํํ๋ค๋ ์ ์ ํ์ ์์ฑ๋ API๋ช ์ธ์ ๋ฐ ERD์ ๋๋ค.
๐ API ๋ช ์ธ์
๊ธฐ๋ฅ | Method | URL | request | response | ์ํ์ฝ๋ |
์ผ์ ์์ฑ | POST | /schedules | ์์ฒญ body { "content" : "ํ ์ผ", "writer" : "์์ฑ์๋ช ", "password" : "๋น๋ฐ๋ฒํธ" } |
๋ฑ๋ก ์ ๋ณด { "scheduleID" : "์๋ณ์" } |
200: ์ ์๋ฑ๋ก |
์ ์ฒด ์ผ์ ์กฐํ | GET | /schedules | ์์ฒญ param | ๋ค๊ฑด ์๋ต ์ ๋ณด [ { "modifyDate" : "์์ ์ผ", "name" : "์์ฑ์๋ช " } ] |
200: ์ ์์กฐํ |
์ ํ ์ผ์ ์กฐํ | GET | /schedules/{scheduleId} | ์์ฒญ param | ๋จ๊ฑด ์๋ต ์ ๋ณด { "content" : "ํ ์ผ", "name" : "์์ฑ์๋ช ", "recordeDate" : "์์ฑ์ผ" } |
200: ์ ์์กฐํ |
์ ํ ์ผ์ ์์ | PUT | /schedules/{scheduleId} | ์์ฒญ body { "content" : "ํ ์ผ", "name" : "์์ฑ์๋ช ", "password" : "๋น๋ฐ๋ฒํธ" } |
์์ ์ ๋ณด { "content" : "ํ ์ผ", "name" : "์์ฑ์๋ช ", "recordeDate" : "์์ ์ผ" } |
200: ์ ์์์ |
์ ํ ์ผ์ ์ญ์ | DELETE | /schedules/{scheduleId} | ์์ฒญ param |
- | 200: ์ ์์ญ์ |
๐ ํํฐ๋ ํผ๋๋ฐฑ
โ๏ธ ์๋ฒ์์ ์ฒ๋ฆฌํ๋ ๊ฐ์ request์ body์ ํฌํจํ์ง ์๋๋ค.
request body์๋ ํด๋ผ์ด์ธํธ์๊ฒ ์
๋ ฅ๋ฐ์ ๊ฐ๋ง ๋ฃ๊ธฐ ๋๋ฌธ์ ์๋ฒ์์ ์ฒ๋ฆฌํ๋ ๊ฐ์ ์๋ฃ๋๊ฒ ๋ง์
(์์ฑ์ผ,์์ ์ผ,์๋ณ์ID)
โ๏ธ ์ผ์ ์์ฑ ํ ์๋ณ์(ID)๋ ์๋ต(Response)์ผ๋ก ํฌํจํ๋ค.
ํ์๋ ์๋์ง๋ง, ์ผ๋ฐ์ ์ผ๋ก ์ผ์ ์ ์์ฑํ๋ฉด ์์ฑํ ID๋ฅผ ์๋ตํด์ค๋ค.
โ๏ธ ์ ์ฒด์ผ์ ์กฐํ ์ ๋ฆฌ์คํธ ํํ๋ก ์๋ตํ๋ค.
์ฌ๋ฌ ๊ฐ์ ์ผ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๋ฏ๋ก ๋ฐฐ์ด[] ํ์์ผ๋ก ํํ (๋ธ๋ก๊ทธ ๋ค์ด๊ฐ๋ฉด ์ ๋ชฉ๋ง ๋ณด์ด๋ ๊ฒ ์ฒ๋ผ!!)
์์ ์ฝ๋ โฌ๏ธ
[
{ "id": 1, "title": "ํ์", "date": "2025-03-12" },
{ "id": 2, "title": "์คํฐ๋", "date": "2025-03-13" }
]
โ๏ธ DELETE ์์ฒญ์ body๊ฐ ๋ณดํต ์์ด์ผ ํ๋ค.
RESTful ์ค๊ณ ์์น์ ๋ฐ๋ผ DELETE ์์ฒญ์ ์์ฒญ ๋ฐ๋๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค.
(ํ์ง๋ง ์ง๊ธ ์์ค์์ ์ผ๋จ ๋์ด๊ฐ๋ ๋๋ค. ์๋ จ๋จ๊ณ์์ ํ ํฐ์ด๋ ์ด๊ฒ์ ๊ฒ ๋ฐฐ์ฐ๋ฉด ์๊ฒ๋ ๋ด์ฉ์ด๋ผ๊ณ ํ์
จ๋ค)
๐ ERD
์์ ์

๐ ํํฐ๋ ํผ๋๋ฐฑ
ERD
<Schedule>
- scheduleID (int)
- content (varchar)
- recordDate (date)
- modifyDate (date)
- password (varchar)
<Writer>
- writer(varchar)
์ด๋ ๊ฒ ๋จผ์ ๋ค๊ณ ๊ฐ๋ค๊ฐ ๋ฐ์ ํผ๋๋ฐฑ
- ๋ฐ์ดํฐํ์ varchar ์ฌ์ฉ์ ๋ช๊ธ์ ํ ์ง ์์ฑํ๊ธฐ
- ๋์ ๊ณผ์ ๊ฐ ์๋๋ผ๋ฉด ERD์์ ๊ฐ์ฒด ํ๋๋ก๋ง ํด๋ ๊ด์ฐฎ์
+ ํ์๋ถ์ด ๋ฐ์ ํผ๋๋ฐฑ ๋ด์ฉ!
(๋๋ ๋์ ๊ณผ์ (DB์ฐ๊ฒฐ)์ ํฌ๊ธฐํ๊ณ , ํ์๋จ๊ณ ๊ตฌํ์ด ๋ชฉํ๋ผ๊ณ ํด์ ํด๋น ๋ด์ฉ์ ๋ํ ํผ๋๋ฐฑ์ ๋ฐ๋ก ์ํด์ฃผ์ ๋ฏ ํ๋ค.)
1. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ค๋ค์ดํฌ ์ผ์ด์ค ์ฌ์ฉ
2. ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ๋ฐ์ดํฐ ํ์ ์ '๋๋ฉ์ธ'์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
ใ ๋ฐ๋ผ์ ๋๋ฉ์ธ ์ข ๋ฅ์ ์ด๋ค ํ๋ก๊ทธ๋จ์ด ์ด๋ค ๋๋ฉ์ธ๊ณผ ์ฐ๊ฒฐ๋๋์ง ์์์ผ ํ๋ค!
3. API๋ช ์ธ์์ URL์ /plans์ผ๋ก ์์ฑํ์ผ๋ฉด, ERD ์ ๋ชฉ๋ ๋์ผํ๊ฒ plan์ผ๋ก ๋ง์ถฐ์ผ ํจ.
+ ๊ฐ์ด๋์์ ์ดํด๊ฐ ์๋๋ ๋ถ๋ถ...
๊ณผ์ ๊ฐ์ด๋์์ ์ด ๋ด์ฉ์ด ์ดํด๊ฐ ์๋์๋๋ฐ ๋ฆฌ์คํธ๋ก ๊ตฌํํ๋ผ๋ ๋ป์ธ ๊ฒ ๊ฐ๋ค. (API ๋ช ์ธ์ ํํฐ๋ ํผ๋๋ฐฑ 3๋ฒ์งธ๋ถ๋ถ)