π λ°±μλ ꡬ쑰
λ°±μλμκ² ν΄λΌμ΄μΈνΈλ
- μ¬μ©μ
- λ°±μλμκ² λ°λ‘ μμ²νλ κ²μ΄ μλ νλ‘ νΈμλμκ² λ¨Όμ μμ²
- νλ‘ νΈμλ
- λ°±μλ μ μ₯μμ κ°μ΄ μλ²μ μ‘΄μ¬νλ κ²μ΄μ§λ§ νλ‘ νΈκ° νλμ ν΄λΌμ΄μΈνΈ μν μ ν μλ μλ€.
μΉ μλ²
- νλ©΄μ λ΄μ©/λ°μ΄ν° λ±μ λ³λμ΄ μλ μ μ νμ΄μ§μ λν λμ
μΉ μ΄ν리μΌμ΄μ μλ²
- λ°μ΄ν° μ²λ¦¬/μ°μ°μ ν΅ν΄ νλ©΄μ λ΄μ©, λ°μ΄ν°κ° λ³νλ λμ νμ΄μ§λ₯Ό μ²λ¦¬
λ°μ΄ν°λ² μ΄μ€
- λ°μ΄ν°λ₯Ό ν΅ν©νμ¬ ν¨μ¨μ μΌλ‘ κ΄λ¦¬νκΈ° μν λ°μ΄ν° μ§ν©μ²΄
π» λ°±μλ κ°λ°μκ° νλ μΌ, API
API (Application Programming Interface)
: λκ°μ ν¨μλ₯Ό λ€μ λ§λ€ νμ μμ΄ λΌμ΄λΈλ¬λ¦¬ ν¨μλ₯Ό μ¬μ©ν¨μΌλ‘μ¨ λΌμ΄λΈλ¬λ¦¬μ μ κ·ΌνκΈ° μν κ·μΉμ μ μν κ²
ex. μ§νμ² μ 보λ₯Ό μ 곡νλ μ΄ν리μΌμ΄μ μ κ°μΈμ΄ μ μνλ €λ©΄ μ΄λ»κ² ν΄μΌ ν κΉ
μμΈ κ΅ν΅κ³΅μ¬ λ°μ΄ν°λ² μ΄μ€λ₯Ό λ°μ νμ©ν΄μΌ νλλ° λͺ¨λ κΆνμ λκΈΈ μ μκΈ°μ
λ°μ΄ν°λ₯Ό μ‘°νν μ μλλ‘λ§ ν΄μ£Όλ κ²μ΄ λ°λ‘ API
Interface
: μ€κ°μμ μμͺ½μ μλ κ²λ€μ μ€μ¬/λ§€κ°μ²΄κ° λμ΄μ£Όλ μν
- GUI (Graphic User Interface)
- μ»΄ν¨ν°(νλ‘κ·Έλ¨)νν λͺ λ Ήμ λ΄λ¦΄ λ, κ·Έλν½μ μ¬μ©ν΄ λͺ λ Ή
- CLI (Command Line Interface)
- λͺ λ Ήμ΄ λ¬Έμ₯("μ€)μΌλ‘ μ»΄ν¨ν°νν λͺ λ Ή
κ³Όκ±°μλ APIλ₯Ό νμ μμ΄ λ°μ΄ν°λ§ μ무λ κ² μ£Όμλλ°
ν¨μ¨μ κ·ΉλννκΈ° μν΄ HTTP κ·μ½μ μ λ°λΌμΌ νλ€κ³ ν κ²μ΄ λ°λ‘ REST APIμ΄λ€.
μ¦ μΉ(=μΈν°λ· λ§ μ κ°μ곡κ°) κ°λ°μλ μΈν°λ·μ λμλ€λκΈ° μν κ·μ½μΈ HTTPλ₯Ό μ§μΌμΌ νλ€.
HTTPκ·μ½μ μ λ°λ₯Έ APIκ° REST APIμ΄κ³ , λλμ± μ λ°λ₯Έ APIκ° RESTful API
π HTTP μ¬μ©λ²
μΈν°λ·μμμ 곡μ /μ λ¬νκ³ μΆμ λͺ¨λ κ²λ€μ λ€ HTTPμ λ£μ΄μ 보λΈλ€.
ν νλ¦Ώ
- Head
- μνμ½λ
- μλ΅ νμ
- Body
- μ λ¬ν΄ μ€ λ°μ΄ν° / νλ©΄ / ...
- λ°μ΄ν° + "λͺ©μ "
- μ 체 μν μ‘°ν νμ΄μ§ => μ 체 μν 리μ€νΈ + "μ‘°ν"
- μν λ±λ‘ νμ΄μ§ => μν μ 보 + "λ±λ‘"
π URL (Uniform Resource Locator)
μΈν°λ·μμμ μΉνμ΄μ§κ° μ΄λ μλμ§ "μμΉ"λ₯Ό μλ €μ£Όλ κ²λΏλ§ μλλΌ, λ°μ΄ν° μ°μ° ν΄λ¬λΌκ³ μλ²μ μμ² λ³΄λ΄λ λ°©λ²
π REST API URL κ·μΉ
- λλ¬Έμ X, μλ¬Έμ O
- μΈλλ°(_) X, νμ΄ν(-) O
- λ§μ§λ§μ / μλ΅
- β νμλ₯Ό ν¬ν¨νμ§ μλλ€ = λͺ©μ μ ν¬ν¨νμ§ μλλ€ β
- νμΌ νμ₯μ ν¬ν¨ X
- 볡μν μ¬μ©
- μν μ€ μμ΄λκ° 1μΈ κ² vs μν"λ€" μ€ μμ΄λκ° 1μΈ κ²
- ν΅μΌκ°
βπ» API μ€κ³
μν μ 체 "μ‘°ν"
"GET" http://localhost:8888/products
μν κ°λ³ "μ‘°ν"
"GET" http://localhost:8888/products/{id}
ex. http://localhost:8888/products/1 -> μμ΄λκ° 1μΈ λ°μ΄ν° μμ²
μν κ°λ³ "μμ "
"PUI" http://localhost:8888/products/{id}
'ποΈ DevCourse > Backend' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[TIL] Week 4 λ°±μλ κΈ°μ΄ : Express (2) | 2025.02.12 |
---|---|
[TIL] Week 4 λ°±μλ κΈ°μ΄ : Node.js (2) | 2025.02.10 |
[TIL] Week 3 νλ‘ νΈ νλ‘μ νΈμ λ°±μλ (1) | 2025.02.04 |
[TIL] Week 3 CSSμ Javascript (1) | 2025.02.03 |
[TIL] Week 2 μΉ μλΉμ€ κ°λ°μ μ΄ν΄μ μ€μ΅ (2) | 2025.01.31 |