[HTTP] : RESTful API λ 무μμΈμ§ ?

RESTful API λ ?
μΉ μλΉμ€λ₯Ό μν μννΈμ¨μ΄ μν€ν μ² μ€νμΌ.
RESTful API λ μμ(λ°μ΄ν°)μ κ³ μ ν URIλ‘ ννμ νκ³ ,
μ¬λ¬ HTTP λ©μλλ₯Ό μ¬μ©νμ¬ μμμ λν μ‘°μμ μννλ λ°©μμΌλ‘ λμνλ€.
μμμ΄λ ?
= λ°μ΄ν°.
λ°μ΄ν°λ κ³ μ ν URIλ‘ μλ³λλ€.
'/posts'
'/posts/:_id'
'/comments/:postId'
'/comments/:_id'
μμ κ°μ΄ ν΄λΉνλ κ³ μ ν URIλ₯Ό κ°μ§κ³ μμ (λ°μ΄ν°)μ μ κ·Όμ΄ κ°λ₯νλ€.
HTTP λ©μλ
λ΄κ° μ¬μ©ν HTTP λ©μλλ μλ 4κ°μ λ©μλμ΄λ€.
κ°μ₯ λΉλ²νκ² μ¬μ©λλ λνμ μΈ λ©μλμ΄κΈ°λ νλ€.
- POST - λ°μ΄ν° μμ± (Create)
λλ POST λ©μλλ₯Ό μ¬μ©ν λλ, /postsλΌλ URIμ μ κ·Όν΄μ μ¬μ©νλ€.
- GET - λ°μ΄ν° μ‘°ν (Read)
GET λ©μλλ₯Ό μ¬μ©ν λλ /posts URIλ‘ μ 체 λ°μ΄ν°λ₯Ό μ‘°ννκ±°λ.
/posts/:_id URIλ₯Ό ν΅ν΄ νΉμ λ°μ΄ν°μ idκ°μ μ κ·Όν΄μ ν΄λΉ μμλ§ μ‘°ννκΈ°λ νμλ€.
- PUT - λ°μ΄ν° μμ (Update)
PUT λ©μλλ₯Ό μ¬μ©ν λλ νΉμ μμμ _id κ°μ μ κ·Όν΄μ μμμ μμ νλ€.
- DELETE - λ°μ΄ν° μμ (Delete)
DELETE λ©μλλ νλμ κ°μ μ κ·Όν΄μ μ¬μ©νκΈ° λλ¬Έμ μμ κ³Ό, λ°μ΄ν° μμΈμ‘°ν URIμ λμΌνλ€.
URI λμμΈ
RESTful APIμμ URIλ λ°μ΄ν°λ₯Ό λνλ΄λλ° μ¬μ©λλ€.
κ³μΈ΅μ μΈ κ΅¬μ‘°λ₯Ό κ°μ§ μ μκΈ° λλ¬Έμ ν΄λΉ λ°μ΄ν°μμ κ΄κ³λ₯Ό ννν μ μλ€.
μμ ) /posts/:345bhbsdfh7732fh λ :λ€μ μμΉν paramsλ₯Ό κ°μ§κ³ ν΄λΉ value κ°μ κ°μ§λ λ°μ΄ν°μ μ κ·Όμ΄ κ°λ₯ν κ²μ΄λ€.
νΉμ λ°μ΄ν°μ μμ κ³Ό μμ λ° μμΈ μ‘°νλ₯Ό μμ κ°μ΄ params μ리μ ν΄λΉ μμμ κ³ μ id κ°μ value λ‘ λ°μμ μ κ·Όνλ€.
λ°μ΄ν° ν¬λ§·
RESTful APIλ λ€μν λ°μ΄ν° ν¬λ§·μ μ§μνλ€κ³ νλ€.
λνμ μΌλ‘ κ°μ₯ μΌλ°μ μΈ JSON ννλΆν° λͺ λ² λ€μ΄λ³Έ XML, CSV λλ YAML λ±λ μ¬μ©λ μ μλ€κ³ νλ€.
ν΄λΌμ΄μΈνΈ <------> μλ²λ μ νν λ°μ΄ν° ννλ₯Ό κΈ°λ°μΌλ‘ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°λλ€.
#RESTful_API #κ°λ
μ 리 #URI #params #res #req #HTTP #method
#POST #GET #PUT #DELETE #CRUD