[μμ±μ: λ
Έν¬μ¬]
Β
Β
π‘Β REST, REST API, RESTful
λ€λ€ ν λ²μ©μ λ€μ΄λ΄€μ μ΄ μ©μ΄λ€μ κ°κ° μ΄λ€κ²μ μλ―Ένλ κ±ΈκΉμ?
Β
Β
Β
βREpresentational State Transferβ μ μ€μλ§.
νλμ μν€ν μ²λ‘ λ³Ό μ μμΌλ©°,
API μ€κ³μ μ€μ¬μ 리μμ€κ° μκ³ HTTP Method λ₯Ό ν΅ν΄ 리μμ€λ₯Ό μ²λ¦¬νλλ‘ μ€κ³νλ κ²μ λλ€.
μ¦, RESTful μ΄λ μ©μ΄λ
REST μ κΈ°λ³Έ μμΉμ μ±μ€ν μ§ν¨ μλΉμ€ λμμΈμ νννλ λ§μ΄λΌκ³ ν μ μμ΅λλ€.
Β
Β
Β
Β
βApplication Programming Interfacesβ μ μ€μλ§.
Application Software λ₯Ό ꡬμΆνκ³ ν΅ν©νλ μ μ λ° νλ‘ν μ½ μΈνΈλ‘,
μ¬μ©μλ ν΄λΌμ΄μΈνΈκ° μ»μΌλ € νλ 리μμ€ μ¬μ΄μ μ‘°μ μλ‘ μκ°νλ©΄ λ©λλ€.
ex) λ μ¨ μλΉμ€μ© API μμ μ¬μ©μλ μ°νΈλ²νΈλ₯Ό μ 곡νκ³ ,
μμ°μλ ν΄λΉ μ§μμ κΈ°μ¨μ μλ΅νλλ‘ μ§μ ν μ μλ€.
Β
Β
Β
Β
-
리μμ€μ νμλ₯Ό μ§κ΄μ μΌλ‘ λΆλ¦¬νλ€.
- 리μμ€λ URI μ λͺ μ¬λ‘ νννλ€.
- νμλ 리μμ€μ λν CRUD λ₯Ό HTTP Method λ‘ νννλ€.
ex) URL : http://heejj.com/user/1, HTTP Method : DELETE (O)
URL : http://heejj.com/user/1/delete, HTTP Method : POST (X) Β
ΒCRUD HTTP Method CREATE POST READ GET UPDATE PUT, PATCH DELETE DELETE Β
Β -
Header μ Body λ₯Ό λͺ ννκ² λΆλ¦¬ν΄μ μ¬μ©νλ€.
- 리μμ€μ λν λ΄μ©μ Body μ λ΄λλ€.
- HTTP μμ²/μλ΅μ νμν μ 보λ€μ Header μ λ΄λλ€.
- μμ² μκ°
- MIME νμ
- API μ 보
- λ±λ±
Β
-
API λ²μ μ κ΄λ¦¬νλ€.
- API μ Base URL μ΄ λ³κ²½λ μλ μμμ μ μν΄μΌ νλ€.
- νΉμ API λ₯Ό λ³κ²½ν λλ λ°λμ νμνΈνμ±μ 보μ₯ν΄μΌ νλ€.
Β
-
Stateless
-
Stateless λ?
- 무μν.
- ν΄λΌμ΄μΈνΈμ μλ² κ΄κ³μμ μλ²κ° ν΄λΌμ΄μΈνΈμ μνλ₯Ό 보쑴νμ§ μμμ λ»νλ€.
-
Stateless λ₯Ό μ§ν€λ λ°©λ² = λ©±λ±μ±μ μ§ν¨λ€.
-
λ©±λ±μ±μ΄λ? μ°μ°μ μ¬λ¬λ² μ μ©νλλΌλ κ²°κ³Όκ° λ¬λΌμ§μ§ μλ μ±μ§
-
κ³ λ‘, Stateless λ₯Ό μ§ν€λ λ°©λ²μ
ν΄λΌμ΄μΈνΈκ° μλ²μκ² λͺλ²μ μλ΅μ μμ²νλ€κ³ ν΄λ λ κ°μ λ΅μ΄ λμμμΌ νλ€.
-
μ΄λ₯Ό μν΄μ μλ²λ ν΄λΌμ΄μΈνΈμ νλμ΄ μλ²μ μνλ₯Ό λ³κ²½νκ² νλ©΄ μλλ€.
-
μλ²λ κ°κ°μ μμ²μ μμ ν λ³κ°μ κ²μΌλ‘ μ²λ¦¬νμ¬
μ΄μ μμ²μ΄ λ€μ μμ²μ μ°κ΄λμ§ μκ² νκΈ° λλ¬Έμ
μ²λ¦¬ λ°©μμ μΌκ΄μ±μ λΆμ¬νκΈ° λλ¬Έμ μλ²μ λΆλ΄μ΄ μ€μ΄λ λ€.
= λκ°μ§ νλμ νλμ API λ‘ μ²λ¦¬νμ§ μλλ€.
-
-
Β
Β
Β
RESTful μ 곡λΆνλ©° λλ μ μ
μ΄λ»κ² 보면 RESTful μ λΉκ΅μ μ½κ² μ΄ν΄ ν μ μλ κ°λ μ΄μ§λ§
μ΄ κ°λ μ μ΄ν΄νκΈ° μν΄ μμμΌ νλ μ§μλ€μ΄ λ μ΄λ €μ μ΅λλ€.
μ λ Stateless κ΄λ ¨ λΆλΆμ΄ κ°μ₯ 볡μ‘νλ€κ³ λκ»΄μ‘λλ°μ,
μ€μν λ΄μ©μ΄λΌκ³ νλ λ€λ€ λ λ§μ λ΄μ©μ μ°Ύμ보μλ©΄ μ’μ κ² κ°μ΅λλ€!
Β
Β