
1. CRUD ๋?
Create, Read, Update, Delete์ ์ฝ์ด๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ์ ์์คํ
์์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ์ ์๋ฏธํ๋ค.
CRUD ๊ฐ๋
์ ์น์์คํ
๋ฟ๋ง ์๋๋ผ ๊ฑฐ์ ๋ชจ๋ ์์คํ
์์ ์ ์ฉ๋๋ค.
2. DB์ CRUD
CRUD๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช
๋ น์ด๋ค.
1. Create (์์ฑ)
์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ก์ด ํ
์ด๋ธ ๋ฐ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ์์
.
2. Read (์ฝ๊ธฐ)
๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ ๊ฒ์, ์ฝ์ด์ค๋ ์์
3. UPDATE (๊ฐฑ์ , ์์ )
๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ค. ์์ ํ๋ ๊ฒ์ ๊ฐฑ์ ์ด๋ค.
4. DELETE (์ญ์ )
๋ฐ์ดํฐ ์ญ์ . ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ ์ฝ๋ ์ญ์ ํ๋ ์์
.
3. REST API ์ CRUD
REST API๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ HTTP ํ๋กํ ์ฝ์ ์ด์ฉํ์ฌ REST ํ์์ ๋ฐ๋ฅด๋ API๋ฅผ ์๋ฏธํ๋ค.
*REST
(Representational State Transfer)- ์์์ ์ด๋ฆ์ผ๋ก ๊ตฌ๋ถํ์ฌ ์์์ ์ํ(์ ๋ณด)๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ ์๋ฏธํจ.
1. HTTP URI(Uniform Resource Identifier)๋ฅผ ํตํด ์์(Resources)์ ๋ช
์ํ๊ณ
2. HTTP Method (POST / GET / PUT / DELETE / PATCH )๋ฅผ ํตํด
3. ํด๋น ์์ (URI)์ ๋ํ CRUD๋ฅผ ์ ์ฉํ๋ ๊ฒ์ ์๋ฏธํ๋ค!
์ฆ, REST ๋ฅผ ํตํด ๋๊ฐ์ ์๋ฒ๊ฐ ์ ์ธ๊ณ์ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ ์ ์๊ฒ ๋ ๊ฒ์ด๋ค.
*REST ํธํ ์์คํ
: RESTful ์์คํ
(REST ๋ฐฉ์์ ๋ฐ๋ฅด๋ ์์คํ
.)
- Rest๋ ํ์ค API ์ํคํ
์ฒ ์ด๊ณ , CRUD๋ ํจ์ ํ์์ด๋ค.
1. Create (์์ฑ)
- HTTP ๋ฉ์๋: POST
(body์ ๋ฐ์ดํฐ ํฌํจ์ํด(post๋๊น))
์์: ์๋ก์ด ์ฌ์ฉ์๋ฅผ ์์ฑํ๋ ๊ฒฝ์ฐ
- ์์ฒญ: POST /users
- ์์ฒญ ๋ณธ๋ฌธ(body): ์๋ก์ด ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ํฌํจํ๋ JSON ๋๋ XML ๋ฐ์ดํฐ
- ์๋ต: ์๋ก์ด ์ฌ์ฉ์์ ID์ ํจ๊ป ์ฑ๊ณต ๋ฉ์์ง ๋๋ ์ ์ ํ ์ํ ์ฝ๋ (์: 201 Created)
2. Read (์ฝ๊ธฐ)
HTTP ๋ฉ์๋: GET
- ์์: ๋ชจ๋ ์ฌ์ฉ์ ๋ชฉ๋ก์ ๊ฐ์ ธ์ค๋ ๊ฒฝ์ฐ
- ์์ฒญ: GET /users
- ์๋ต: ๋ชจ๋ ์ฌ์ฉ์์ ๋ชฉ๋ก์ ํฌํจํ๋ JSON ๋๋ XML ๋ฐ์ดํฐ ๋๋ ์ ์ ํ ์ํ ์ฝ๋์ ํจ๊ป ์ฑ๊ณต ๋ฉ์์ง (์: 200 OK)
3. UPDATE (๊ฐฑ์ , ์์ )
HTTP ๋ฉ์๋: PUT ๋๋ PATCH
-
- ์์: ํน์ ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ์
๋ฐ์ดํธํ๋ ๊ฒฝ์ฐ
- ์์ฒญ: PUT /users/{id} ๋๋ PATCH /users/{id}
- ์์ฒญ ๋ณธ๋ฌธ: ์ ๋ฐ์ดํธํ ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ํฌํจํ๋ JSON ๋๋ XML ๋ฐ์ดํฐ
- ์๋ต: ์ ์ ํ ์ํ ์ฝ๋์ ํจ๊ป ์ฑ๊ณต ๋ฉ์์ง ๋๋ ์ ๋ฐ์ดํธ๋ ์ฌ์ฉ์์ ์ ๋ณด
- ์์: ํน์ ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ์
๋ฐ์ดํธํ๋ ๊ฒฝ์ฐ
4. DELETE (์ญ์ )
HTTP ๋ฉ์๋: DELETE
-
- ์์: ํน์ ์ฌ์ฉ์๋ฅผ ์ญ์ ํ๋ ๊ฒฝ์ฐ
- ์์ฒญ: DELETE /users/{id}
- ์๋ต: ์ ์ ํ ์ํ ์ฝ๋์ ํจ๊ป ์ฑ๊ณต ๋ฉ์์ง ๋๋ ์ญ์ ๋ ์ฌ์ฉ์์ ์ ๋ณด
- ์์: ํน์ ์ฌ์ฉ์๋ฅผ ์ญ์ ํ๋ ๊ฒฝ์ฐ
REST์ CRUD์ ๋ช
๋ น์ ์์ธํ ๋ณด๋ฉด ๋ ์ฌ์ด์ ์ ์ฌ์ ์ด ์๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
4. REST & CRUD ์ฐจ์ด
REST๋ HTTP ๋ช
๋ น์ ์ฌ์ฉํ๋ ์์์ ์ค์ฌ์ผ๋ก ํ ์ํคํ
์ฒ ์์คํ
์ด๋ค. ์ฆ HTTP๋ช
๋ น์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์ดํ๋ค.
๋ฐ๋ฉด์ CRUD๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ ์ฝ๋๋ฅผ ์ ์งํ๊ธฐ ์ํ ์ฃผ๊ธฐ์ด๋ค. ๋์์ ์ ๋ณด๋ฅผ ์กฐ์ํ๋ ๋ฐฉ๋ฒ์ด๋ค.
๋์ ๊ธฐ๋ฅ์ ์ ์ฌํ์ง๋ง, ๋์ผํ์ง ์๋ค.
- Rest๋ ํ์ค API ์ํคํ
์ฒ ์ด๊ณ , CRUD๋ ํจ์ ํ์์์ ๊ธฐ์ตํ์.
* ๊นํ๋ธ ์ฐธ๊ณ (idkim97.github)
'๐ป > Server' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Tomcat] '404์๋ฌ' ๊ฐ ๋ฐ์ํ๋ค๋ฉด? (6) | 2024.10.07 |
---|