REST API๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ์‰ฝ๊ฒŒ ์ •๋ฆฌ

2025. 7. 10. 22:30ยทPrograming/Spring

๐Ÿ“Œ ๋ณธ๋ฌธ

REST API๋Š” ํ˜„๋Œ€ ์›น ๊ฐœ๋ฐœ์—์„œ ๊ฐ€์žฅ ๋„๋ฆฌ ์“ฐ์ด๋Š” ์ธํ„ฐํŽ˜์ด์Šค ํ†ต์‹  ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐ ๊ผญ ํ•„์š”ํ•œ ๊ตฌ์กฐ์ฃ .
์ด๋ฒˆ ๊ธ€์—์„œ๋Š” REST์˜ ๊ฐœ๋…๊ณผ ํŠน์ง•์„ ์‰ฝ๊ฒŒ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1. REST๋ž€?

REST(Representational State Transfer)๋Š”
HTTP ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž์›์„ CRUD ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ์ž…๋‹ˆ๋‹ค.


2. REST์˜ ๊ตฌ์„ฑ ์š”์†Œ

  • ์ž์›(Resource): URI๋กœ ํ‘œํ˜„ (์˜ˆ: /users/1)
  • ํ–‰์œ„(Method): HTTP ๋ฉ”์„œ๋“œ (GET, POST, PUT, DELETE)
  • ํ‘œํ˜„(Representation): ์ฃผ๋กœ JSON ํฌ๋งท

3. HTTP ๋ฉ”์„œ๋“œ ์˜๋ฏธ

๋ฉ”์„œ๋“œ์„ค๋ช…
GET ์ž์› ์กฐํšŒ
POST ์ž์› ์ƒ์„ฑ
PUT ์ž์› ์ „์ฒด ์ˆ˜์ •
PATCH ์ž์› ์ผ๋ถ€ ์ˆ˜์ •
DELETE ์ž์› ์‚ญ์ œ
 

4. RESTful API ์„ค๊ณ„ ์˜ˆ์‹œ

plaintext
๋ณต์‚ฌํŽธ์ง‘
GET /articles → ๊ธ€ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๊ธฐ POST /articles → ์ƒˆ ๊ธ€ ์ž‘์„ฑ GET /articles/1 → ํŠน์ • ๊ธ€ ๋ณด๊ธฐ PUT /articles/1 → ๊ธ€ ์ˆ˜์ • DELETE /articles/1 → ๊ธ€ ์‚ญ์ œ

โœ… ๋งˆ๋ฌด๋ฆฌ

REST API๋Š” ์ดํ•ด๋งŒ ํ•˜๋ฉด ๋ˆ„๊ตฌ๋‚˜ ์„ค๊ณ„ํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
HTTP URI + ๋ฉ”์„œ๋“œ ์กฐํ•ฉ์œผ๋กœ ๊น”๋”ํ•œ API๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋‹ˆ, ๊ธฐ๋ณธ ์›์น™์„ ๊ผญ ๊ธฐ์–ตํ•ด๋‘์„ธ์š”.

'Programing > Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Spring MVC์™€ Spring Boot์˜ ์ฐจ์ด์  โ€“ ์–ธ์ œ ๋ฌด์—‡์„ ์จ์•ผ ํ• ๊นŒ?  (0) 2025.07.08
[Spring] ์—๋Ÿฌํ˜„์ƒ ์กฐ์น˜  (0) 2021.04.29
[Spring] ์Šคํ”„๋ง ํŠน์ง•  (0) 2021.04.22
[Spring] ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ  (0) 2021.04.21
[Spring] web.xml ์—๋Ÿฌ(error) ํ˜„์ƒ  (0) 2021.04.21
'Programing/Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • Spring MVC์™€ Spring Boot์˜ ์ฐจ์ด์  – ์–ธ์ œ ๋ฌด์—‡์„ ์จ์•ผ ํ• ๊นŒ?
  • [Spring] ์—๋Ÿฌํ˜„์ƒ ์กฐ์น˜
  • [Spring] ์Šคํ”„๋ง ํŠน์ง•
  • [Spring] ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ
์—๋ธ”‘s
์—๋ธ”‘s
  • ์—๋ธ”‘s
    ์—๋ธ”
    ์—๋ธ”‘s
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (125)
      • Programing (39)
        • JSP (3)
        • JAVA (24)
        • Spring (7)
        • HTML (5)
      • ์ด์™ธ (16)
        • Git (5)
        • ์ž„์‹œ ์žก๋‹คํ•จ (7)
        • IntelliJ (1)
        • ์—๋Ÿฌ ๋ชจ์Œ (2)
      • OS (31)
        • Docker (6)
        • Kubernetes (12)
        • Linux (9)
        • DevOps (4)
      • DataBase (2)
        • Mysql (1)
      • ํ† ์ด ํ”„๋กœ์ ํŠธ (0)
        • ๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ (0)
      • Spring (0)
      • ๊ฑด๊ฐ• & ์ƒํ™œ (18)
        • ์—ฌ๋ฆ„ ๊ฑด๊ฐ• (18)
      • ๊ณต๋ถ€ · ์ž๊ฒฉ์ฆ (1)
      • ๋ช…์–ธ๊ณผ ๋ฃจํ‹ด (3)
      • ๋ถ€๋™์‚ฐ or ์ฃผ์‹ (8)
        • ๋ถ€๋™์‚ฐ (6)
        • ์ฃผ์‹ (2)
      • ๊ฒฝ์ œ (7)
  • ์ธ๊ธฐ ๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ๋งํฌ

    • ๊นƒ ํ—ˆ๋ธŒ ์ฃผ์†Œ
  • ๊ณต์ง€์‚ฌํ•ญ

  • ํƒœ๊ทธ

    yaml
    java
    IntelliJ
    ์ƒ์†
    error
    ํด๋ž˜์Šค
    ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค
    ubuntu
    ๋ฐ๋ธŒ์˜ต์Šค
    DevOps
    spring
    Docker
    jsp
    spring-framwork
    MVC
    kubernetes
    ๊ฐœ๋ฐœํ™˜๊ฒฝ
    Linux
    HTML
    ์ธํ”„๋ผ๊ด€๋ฆฌ
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
์—๋ธ”‘s
REST API๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ์‰ฝ๊ฒŒ ์ •๋ฆฌ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”