๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Dev

[RESTful] RESTful ์„œ๋น„์Šค๋ž€?

jcowwk 2025. 2. 14. 10:42

RESTful ์„œ๋น„์Šค๋ž€?


1. REST

1. REST API

2. RESTful


1. REST

REST(Representational State Transfer)๋Š” ์›น ๊ธฐ๋ฐ˜ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ์ž…๋‹ˆ๋‹ค.

HTTP URI(Uniform Resource Identifier)๋ฅผ ํ†ตํ•ด ์ž์›์„ ์‹๋ณ„ํ•˜๊ณ , HTTP Method(GET, POST, PUT, PATCH, DELETE)๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ์ž์›์— ๋Œ€ํ•œ CRUD ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

- HTTP Method

1. GET

์ž์› ์กฐํšŒ

 

2. POST

์ž์› ์ƒ์„ฑ

 

3. PUT

์ž์› ์ˆ˜์ •(์ „์ฒด)

 

4. PATCH

์ž์› ์ˆ˜์ •(์ผ๋ถ€๋งŒ)

 

5. DELETE

์ž์› ์‚ญ์ œ

 

- REST ์•„ํ‚คํ…์ฒ˜ ์‚ฌ์šฉ ์ด์œ 

ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

HTTP ๋ฉ”์†Œ๋“œ ์ค‘ GET๊ณผ POST๋งŒ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ์—๋„ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์˜ ๊ตฌ๋ถ„์€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ PUT๊ณผ DELETE ๋“ฑ์„ ํ™œ์šฉํ•˜๋ฉด API๊ฐ€ ๋” ์ง๊ด€์ ์ด ๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.

 

 

- ๊ทœ์น™

/users/{userId}

 

1. ์Šฌ๋ž˜์‹œ ๊ตฌ๋ถ„์ž๋Š” ๊ณ„์ธต ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š”๋ฐ ์‚ฌ์šฉ

2. URI ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋กœ ์Šฌ๋ž˜์‹œ ํฌํ•จํ•˜์ง€ ์•Š์Œ

3. ํ•˜์ดํ”ˆ์€ URI ๊ฐ€๋…์„ฑ์„ ๋†’์ด๋Š”๋ฐ ์‚ฌ์šฉ

4. ๋ฐ‘์ค„์€ URI์— ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ

5. URI ๊ฒฝ๋กœ๋Š” ์†Œ๋ฌธ์ž ์‚ฌ์šฉ

6. ํŒŒ์ผ ํ™•์žฅ์ž๋Š” URI์— ํฌํ•จํ•˜์ง€ ์•Š์Œ

 

7. ๋ฆฌ์†Œ์Šค ๊ฐ„์—๋Š” ์—ฐ๊ด€ ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ฒฝ๋กœ๋กœ ํ‘œํ˜„

8. URI๋Š” ๋ช…์‚ฌ ์‚ฌ์šฉ

 

์ƒํ’ˆ (Products) ๊ด€๋ จ API

๊ธฐ๋Šฅ HTTP ๋ฉ”์„œ๋“œ URI ์„ค๋ช…
๋ชจ๋“  ์ƒํ’ˆ ์กฐํšŒ GET /products ๋ชจ๋“  ์ƒํ’ˆ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๊ธฐ
ํŠน์ • ์ƒํ’ˆ ์กฐํšŒ GET /products/{productId} ํŠน์ • ์ƒํ’ˆ ์ •๋ณด ์กฐํšŒ
์ƒํ’ˆ ์ƒ์„ฑ POST /products ์ƒˆ ์ƒํ’ˆ ์ถ”๊ฐ€
์ƒํ’ˆ ์ˆ˜์ • PUT /products/{productId} ํŠน์ • ์ƒํ’ˆ ์ˆ˜์ •
์ƒํ’ˆ ์‚ญ์ œ DELETE /products/{productId} ํŠน์ • ์ƒํ’ˆ ์‚ญ์ œ

 

- ์ฃผ๋ฌธ (Orders) ๊ด€๋ จ API

๊ธฐ๋Šฅ HTTP ๋ฉ”์„œ๋“œ URI ์„ค๋ช…
๋ชจ๋“  ์ฃผ๋ฌธ ์กฐํšŒ GET /orders ๋ชจ๋“  ์ฃผ๋ฌธ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๊ธฐ
ํŠน์ • ์ฃผ๋ฌธ ์กฐํšŒ GET /orders/{orderId} ํŠน์ • ์ฃผ๋ฌธ ์ •๋ณด ์กฐํšŒ
์ฃผ๋ฌธ ์ƒ์„ฑ POST /orders ์ƒˆ ์ฃผ๋ฌธ ์ƒ์„ฑ
์ฃผ๋ฌธ ์ˆ˜์ • PUT /orders/{orderId} ์ฃผ๋ฌธ ์ •๋ณด ์ˆ˜์ •
์ฃผ๋ฌธ ์ทจ์†Œ DELETE /orders/{orderId} ํŠน์ • ์ฃผ๋ฌธ ์ทจ์†Œ

 

2.  REST API

REST API๋Š” REST ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” API์ž…๋‹ˆ๋‹ค.

REST ์›์น™์„ ๊ธฐ๋ฐ˜์œผ๋กœ HTTP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž์›์— ์ ‘๊ทผํ•˜๋Š” API์ง€๋งŒ, ๋ชจ๋“  REST ๊ทœ์น™์„ ์—„๊ฒฉํžˆ ๋”ฐ๋ฅด์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

3.  RESTful

REST ์•„ํ‚คํ…์ฒ˜์˜ ๊ทœ์น™์„ ์ •ํ™•ํ•˜๊ฒŒ ๋”ฐ๋ฅด๋Š” ์›น ์„œ๋น„์Šค๋ฅผ RESTful ์›น ์„œ๋น„์Šค๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.


์ฐธ๊ณ  ์‚ฌ์ดํŠธ

 

REST API URL ๊ทœ์น™

API ๊ฐœ๋ฐœ์„ ํ•˜๋Š”๋ฐ ์žˆ์–ด์„œ URI๋ฅผ ์–ด๋–ป๊ฒŒ ๋ช…๋ช…ํ• ์ง€์— ๋Œ€ํ•œ ์ •๋ฆฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด ํฌ์ŠคํŒ… ํ•˜์˜€๋‹ค. 1. RESTful API ๋ž€ Rest : Representational State Tranfer์˜ ์•ฝ์ž๋กœ ์›น์„ ์ด์šฉํ• ๋•Œ ์ œ์•ฝ์กฐ๊ฑด๋“ค์„ ์ •์˜ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด

dev-cool.tistory.com

 

 

[๊ฐ„๋‹จ์ •๋ฆฌ] REST, REST API, RESTful ํŠน์ง•

๊ฐœ์š” REST, REST API, RESTful ํŠน์ง• ์•Œ์•„๋ณด๊ธฐ REST REST ์ •์˜ REST(Representational State Transfer)๋Š” ์›”๋“œ ์™€์ด๋“œ ์›น๊ณผ ๊ฐ™์€ ๋ถ„์‚ฐ ํ•˜์ดํผ๋ฏธ๋””์–ด ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜์˜ ํ•œ ํ˜•์‹ REST๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์›น

hahahoho5915.tistory.com

 

๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š” !

ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค <3