์ค๋ ํ ๊ณต๋ถ ๐ง
- ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ (Java) 1๋ฌธ์ ํ์ด & ๋ธ๋ก๊ทธ ์ ๋ฆฌ
- ๊ฐ์ธ ๊ณผ์ Lv0 - API ๋ช ์ธ์ ์์ฑ
- ๊ฐ์ธ ๊ณผ์ Lv0 - ERD ์์ ์์ฒญ & ์์ฑ
- ์์ค๋ณ ํ์ต๋ฐ_๋ฒ ์ด์ง๋ฐ ๋ฏธ๋ ์ธ์ ๋ฃ๊ธฐ
- TIL ๋ธ๋ก๊ทธ ์์ฑ
์ค๋ ์ป์ ๋ด์ฉ ์ ๋ฆฌ โ๏ธ
์ค๋ ์งํํ ๊ฐ์ธ ๊ณผ์ ์ํฉ์ ์ ๋ฆฌํด์ผ๊ฒ ๋ค!
์ผ์ ๊ด๋ฆฌ ์ฑ API ๋ช ์ธ์
์ผ์ ์์ฑ
Description : ์๋ก์ด ์ผ์ ์ ์์ฑํฉ๋๋ค.
- ์์ฒญ ์ ์ผ์ ์ ์ ๋ชฉ, ๋ด์ฉ, ์์ฑ์๋ช , ๋น๋ฐ๋ฒํธ, ์์ฑ์ผ, ์์ ์ผ์ ํฌํจํ๋ฉฐ, ์๋ฒ์์ ๊ฐ ์ผ์ ์ ๊ณ ์ ID๋ฅผ ์์ฑํฉ๋๋ค.
HTTP Method : POST
Endpoint : /todos
Request Body
{
"title" : "์ ๋ชฉ",
"content" : "๋ด์ฉ",
"writer" : "์์ฑ์๋ช
",
"password" : "๋น๋ฐ๋ฒํธ",
"created_date" : "YYYY-MM-DD HH:mm:ss",
"updated_date" : "YYYY-MM-DD HH:mm:ss"
}
- title (string) : ์ผ์ ์ ๋ชฉ.
- content (string) : ์ผ์ ๋ด์ฉ.
- writer (string) : ์์ฑ์ ์ด๋ฆ.
- password (string) : ์ผ์ ์์ /์ญ์ ์ ์ฌ์ฉํ ๋น๋ฐ๋ฒํธ.
- created_date (string) : ์์ฑ์ผ.
- updated_date (string) : ์์ ์ผ.
Response
{
"id" : 1,
"title" : "์ ๋ชฉ",
"content" : "๋ด์ฉ",
"writer" : "์์ฑ์๋ช
",
"created_date" : "YYYY-MM-DD HH:mm:ss",
"updated_date" : "YYYY-MM-DD HH:mm:ss"
}
- id (integer) : ์๋ ์์ฑ๋ ๊ณ ์ ์๋ณ์.
- title (string) : ์ผ์ ์ ๋ชฉ.
- content (string) : ์ผ์ ๋ด์ฉ.
- writer (string) : ์์ฑ์ ์ด๋ฆ.
- created_date (string) : ์์ฑ์ผ.
- updated_date (string) : ์์ ์ผ.
Status Codes
- 201 Created : ์ผ์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์์ฑ๋จ.
- 400 Bad Request : ์์ฒญ ๋ฐ์ดํฐ๊ฐ ์ ํจํ์ง ์์.
์ ์ฒด ์ผ์ ์กฐํ
Description : ๋ฑ๋ก๋ ๋ชจ๋ ์ผ์ ์ ๋ถ๋ฌ์ต๋๋ค. ์ถฉ์กฑํ๋ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ผ์ ๋ชฉ๋ก์ ๋ค๋ฅด๊ฒ ๋ถ๋ฌ์ฌ ์ ์์ต๋๋ค.
HTTP Method : GET
Endpoint : /todos
Request Param
GET /todos/updated_date=YYYY-MM-DD&writer=์์ฑ์๋ช
GET /todos/updated_date=YYYY-MM-DD
GET /todos/writer=์์ฑ์๋ช
GET /todos
Response
[
{
"id" : 1,
"title" : "์ ๋ชฉ",
"content" : "๋ด์ฉ",
"writer" : "์์ฑ์๋ช
",
"created_date" : "YYYY-MM-DD HH:mm:ss",
"updated_date" : "YYYY-MM-DD HH:mm:ss"
},
{
"id" : 2,
"title" : "์ ๋ชฉ",
"content" : "๋ด์ฉ",
"writer" : "์์ฑ์๋ช
",
"created_date" : "YYYY-MM-DD HH:mm:ss",
"updated_date" : "YYYY-MM-DD HH:mm:ss"
}
]
- id (integer) : ์๋ ์์ฑ๋ ๊ณ ์ ์๋ณ์.
- title (string) : ์กฐํํ ์ผ์ ์ ๋ชฉ.
- content (string) : ์กฐํํ ์ผ์ ๋ด์ฉ.
- writer (string) : ์กฐํํ ์์ฑ์ ์ด๋ฆ.
- created_date (string) : ์์ฑ์ผ.
- updated_date (string) : ์์ ์ผ.
Status Codes
- 200 OK : ์ฑ๊ณต์ ์ผ๋ก ์ ์ฒด ์ผ์ ์ ๋ฐํ.
์ ํ ์ผ์ ์กฐํ
Description : ์ ํํ ์ผ์ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ต๋๋ค.
HTTP Method : GET
Endpoint : /todos/{id}
- id : ์กฐํํ ์ผ์ ์ ๊ณ ์ ์๋ณ์.
Request : Get ์์ฒญ์ด๋ฏ๋ก Request Body๋ ํ์ํ์ง ์์ต๋๋ค.
Response
{
"id" : 1,
"title" : "์ ๋ชฉ",
"content" : "๋ด์ฉ",
"writer" : "์์ฑ์๋ช
",
"created_date" : "YYYY-MM-DD HH:mm:ss",
"updated_date" : "YYYY-MM-DD HH:mm:ss"
}
- id (integer) : ์๋ ์์ฑ๋ ๊ณ ์ ์๋ณ์.
- title (string) : ์กฐํํ ์ผ์ ์ ๋ชฉ.
- content (string) : ์กฐํํ ์ผ์ ๋ด์ฉ.
- writer (string) : ์กฐํํ ์์ฑ์ ์ด๋ฆ.
- created_date (string) : ์์ฑ์ผ.
- updated_date (string) : ์์ ์ผ.
Status Codes
- 200 OK : ์ฑ๊ณต์ ์ผ๋ก ์ ํํ ์ผ์ ์ ๋ฐํ.
- 404 Not Found : ์์ฒญํ id์ ํด๋นํ๋ ์ผ์ ์ด ์กด์ฌํ์ง ์์.
์ ํ ์ผ์ ์์
Description : ์ ํํ ์ผ์ ์ ํ ์ผ, ์์ฑ์๋ฅผ ์์ ํฉ๋๋ค.
- ์์ ๊ฐ๋ฅ : title(์ ๋ชฉ), content(๋ด์ฉ), writer(์์ฑ์๋ช ), updated_date (์์ ์ผ)
HTTP Method : PUT
Endpoint : /todos/{id}
- id : ์กฐํํ ์ผ์ ์ ๊ณ ์ ์๋ณ์.
Request Body
{
"title": "์์ ํ ์ ๋ชฉ",
"content": "์์ ํ ๋ด์ฉ",
"writer": "์์ ํ ์์ฑ์๋ช
",
"password": "๋น๋ฐ๋ฒํธ",
"updated_date": "์์ ํ ์์ ์ YYYY-MM-DD HH:mm:ss"
}
- title (string) : ์์ ํ ์ผ์ ์ ๋ชฉ.
- content (string) : ์์ ํ ์ผ์ ๋ด์ฉ.
- writer (string) : ์์ ํ ์์ฑ์ ์ด๋ฆ.
- password (string) : ํ์ธ์ ์ํ ๋น๋ฐ๋ฒํธ.
- updated_date (string) : ์์ ์ผ.
Response
{
"id": 1,
"title": "์์ ๋ ์ ๋ชฉ",
"content": "์์ ๋ ๋ด์ฉ",
"writer": "์์ ๋ ์์ฑ์๋ช
",
"created_date" : "YYYY-MM-DD HH:mm:ss",
"updated_date" : "์์ ๋ ์์ ์ YYYY-MM-DD HH:mm:ss"
}
- id (integer) : ๊ณ ์ ์๋ณ์.
- title (string) : ์์ ๋ ์ผ์ ์ ๋ชฉ.
- content (string) : ์์ ๋ ์ผ์ ๋ด์ฉ.
- writer (string) : ์์ ๋ ์์ฑ์ ์ด๋ฆ.
- updated_date (string) : ์์ ์ผ.
Status Codes
- 200 OK : ์ผ์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์์ ๋จ.
- 400 Bad Request : ์๋ชป๋ ์์ฒญ ๋ฐ์ดํฐ.
- 404 Not Found : ์์ฒญํ id์ ํด๋นํ๋ ์ผ์ ์ด ์กด์ฌํ์ง ์์.
์ ํ ์ผ์ ์ญ์
Description : ์ ํํ ์ผ์ ์ ์ญ์ ํฉ๋๋ค.
- password(๋น๋ฐ๋ฒํธ)๋ฅผ ํจ๊ป ์ ๋ฌํ์ฌ ์ญ์ ๊ถํ์ ํ์ธํฉ๋๋ค.
HTTP Method : DELETE
Endpoint : /todos/{id}
- id : ์ญ์ ํ ์ผ์ ์ ๊ณ ์ ์๋ณ์.
Request Body
{
"password": "๋น๋ฐ๋ฒํธ"
}
- password (string) : ํ์ธ์ ์ํ ๋น๋ฐ๋ฒํธ.
Response : DELETE ์์ฒญ์ด๋ฏ๋ก ์ ํ๋ ์ผ์ ์ด ์ญ์ ๋๋ฉด ๋๋ค.
Status Codes
- 200 OK : ์ผ์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์ญ์ ๋จ.
- 400 Bad Request : ์๋ชป๋ ์์ฒญ ๋ฐ์ดํฐ.
- 404 Not Found : ์์ฒญํ id์ ํด๋นํ๋ ์ผ์ ์ด ์กด์ฌํ์ง ์์.
์ผ์ ๊ด๋ฆฌ ์ฑ ERD
ERD (Entity Relationship Diagram)
- Entity (์กด์ฌํ๊ณ ์๋ ๊ฒ) : ์ฌ๋, ๋ฌผ์ฒด, ๊ฐ๋ (๊ณ์ )
- Attribute (ํน์ฑ, ์์ฑ) : ์ฌ๋ - ํค ๋ชธ๋ฌด๊ฒ ์ฑ๋ณ
- Relationship (๊ด๊ณ) : Entity - Entity ์ฐ๊ฒฐํด์ฃผ๋ ๊ด๊ณ
< ํ์ ๊ณผ์ ERD >
TODO
- PK - id
- title
- content
- writer
- password
- created_date
- updated_date
< ๋์ ๊ณผ์ ERD >
USER
- PK - id
- name
- created_date
- updated_date
TODO
- PK - id
- FK - user_id
- title
- content
- password
- created_date
- updated_date
์ค๋ ํ๋ฃจ ์ ๋ฆฌ โ๏ธ
์ค๋ ์ด์ฌํ ๊ฐ์ธ ๊ณผ์ Lv0์ ํด๊ฒฐํ๋ค๊ณ ํ๋ฃจ๋ฅผ ๋ค ์ฌ์ฉํ๋ค.
๋ฌผ๋ก ํํฐ๋๊ป ๋ฌผ์ด๋ณด๋ฉด์ Lv0์ ๋ถ์กฑํ ๋ถ๋ถ๋ ์ฑ์ฐ๊ณ ์ ๋ง๋ฌด๋ฆฌํ ์ ์์๋ ๊ฒ ๊ฐ๋ค.
์ด์ ๋ ๋๋ง์ Lv1, 2๊ฐ ๋จ์์๋ค..
๋ด์ผ๋ถํฐ๋ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ ์ฒ์ฒํ ํ๋์ฉ ์๊ตฌ์ฌํญ๋๋ก ๋ง๋ค์ด๊ฐ ์๊ฐ์ด๋ค. ์ง์ง ์ฒ์ฒํ ํ๋์ฉ ๋์๊ฐ๋ค๊ฐ ๋งํ๋ ๋ถ๋ถ์ด ์๋ค๋ฉด ๋ฐ๋ก ํํฐ๋๊ป ๋ฌ๋ ค๊ฐ๋ฉด์ ํด๊ฒฐํ๊ณ ๋ ํด๊ฒฐํ๊ณ ... ๊ทธ๋ฌ๋ค ๋ณด๋ฉด ๊ณผ์ ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์์ฑ๋์ด ์์ ๊ฒ ๊ฐ๋ค!
๊ทธ๋ฆฌ๊ณ .. ์์ค๋ณ ํ์ต๋ฐ์ ์คํ ๋ค๋๋ฐ์์ ๋ฒ ์ด์ง๋ฐ์ผ๋ก ์ฎ๊ฒผ๋ค..!!!
์ค๋ ์งํํ ๋ณด์ถฉ ์ธ์
์ ๋ค์๋๋ฐ ์คํ ๋ค๋๋ฐ์์๋ ์ ์ดํดํ์ง ๋ชปํ์ง๋ง.. ๋ณด์ถฉ ์ธ์
์ ๋ฃ๊ณ ์ ๊ทธ๋ฐ์ง ์ ์ ์์๋ค..
์์ง ๋.... ๊ฐ๋
์ด ๋ง์ด ๋ถ์กฑํ ์ํ์๋ ๊ฒ์ด๋ค.. ๊ทธ๊ฒ๋ ์์ฒญ๋๊ฒ....
์์ผ๋ก ๋ฒ ์ด์ง๋ฐ์์ ์ด์ฌํ ๋ค์ผ๋ฉด์ ์คํ๋ง์ ์๋ฒฝํ๊ฒ ์ ๋ณตํ ์ ์์์ผ๋ฉด ์ข๊ฒ ๋ค.
๋ด์ผ ๊ณผ์ ํ๋๋ผ ์ ์ ์๊ฒ ์ง๋ง ๊ทธ๋๋ ํ์ดํ !!!!
๋ด์ผ ๊ณํ โฐ
- ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ (Java) 1๋ฌธ์ ํ์ด & ๋ธ๋ก๊ทธ ์ ๋ฆฌ
- ๊ฐ์ธ ๊ณผ์ Lv1 ๋์ ํ๊ธฐ
- TIL ๋ธ๋ก๊ทธ ์์ฑ
- + ์๊ฐ์ด ๋๋ค๋ฉด ๊ฐ์ธ ๊ณผ์ Lv2๋ ๋์ ํ๊ธฐ
'Today I Learned(TIL) > ์คํ๋ฅดํ ๋ด์ผ๋ฐฐ์์บ ํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_Day 10 (2) | 2024.12.08 |
---|---|
์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_Day 8 (1) | 2024.12.06 |
์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_Day 6 (1) | 2024.12.04 |
์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทผ ๊ธฐ์ ์ ์ฉ (0) | 2024.12.04 |
์ฃผํน๊ธฐ ์ ๋ฌธ/์๋ จ_3 Layer Architecture (1) | 2024.12.04 |