HTTP λ©μλ κ°μ
GET
λ°μ΄ν° μ‘°ν μμ νκ³ λ©±λ±μ±
POST
λ°μ΄ν° μμ± λΉλ©±λ±μ±
PUT
λ°μ΄ν° μμ λ©±λ±μ±
DELETE
λ°μ΄ν° μμ λ©±λ±μ±
GET - μ‘°ν
λ°μ΄ν°λ₯Ό μ‘°νν λ μ¬μ©ν©λλ€. μλ² μνλ₯Ό λ³κ²½νμ§ μμ΅λλ€.λ¨μΌ 리μμ€ μ‘°ν
λͺ©λ‘ μ‘°ν
κ΄κ³ λ°μ΄ν° μ‘°ν
GET λ©μλ νΉμ§: - μμ ν¨ (Safe): μλ² μνλ₯Ό λ³κ²½νμ§ μμ - λ©±λ±μ± (Idempotent): κ°μ μμ²μ
μ¬λ¬ λ² ν΄λ κ²°κ³Ό λμΌ - μΊμ κ°λ₯ (Cacheable): λΈλΌμ°μ /νλ‘μμμ μΊμ κ°λ₯ - νλΌλ―Έν°λ URL
쿼리 μ€νΈλ§μΌλ‘ μ λ¬
POST - μμ±
μλ‘μ΄ λ¦¬μμ€λ₯Ό μμ±ν λ μ¬μ©ν©λλ€.λ¨μ μμ±
볡μ‘ν μμ± (κ΄κ³ λ°μ΄ν° ν¬ν¨)
λ°°μΉ μμ±
POST λ©μλ νΉμ§: - λΉμμ ν¨: μλ² μνλ₯Ό λ³κ²½ν¨ - λΉλ©±λ±μ±: κ°μ μμ²μ μ¬λ¬ λ² νλ©΄ 리μμ€κ°
μ€λ³΅ μμ±λ μ μμ - μΊμ λΆκ°λ₯ - νλΌλ―Έν°λ Bodyλ‘ μ λ¬ - μΌλ°μ μΌλ‘ μμ±λ 리μμ€μ IDλ₯Ό λ°ν
PUT - μμ
κΈ°μ‘΄ 리μμ€λ₯Ό μμ ν λ μ¬μ©ν©λλ€.μ 체 μμ
λΆλΆ μμ (PATCH μ€νμΌ)
μν λ³κ²½
PUT λ©μλ νΉμ§: - λΉμμ ν¨: μλ² μνλ₯Ό λ³κ²½ν¨ - λ©±λ±μ±: κ°μ μμ²μ μ¬λ¬ λ² ν΄λ κ²°κ³Ό λμΌ -
μΌλ°μ μΌλ‘ 리μμ€ μ 체λ₯Ό κ΅μ²΄ - νλΌλ―Έν°λ Bodyλ‘ μ λ¬ - μ±κ³΅ μ λΉ μλ΅ λλ μ
λ°μ΄νΈλ 리μμ€
λ°ν
DELETE - μμ
리μμ€λ₯Ό μμ ν λ μ¬μ©ν©λλ€.λ¨μΌ μμ
μννΈ μμ
κ΄λ ¨ λ°μ΄ν°μ ν¨κ» μμ
λ°°μΉ μμ
DELETE λ©μλ νΉμ§: - λΉμμ ν¨: μλ² μνλ₯Ό λ³κ²½ν¨ - λ©±λ±μ±: μ΄λ―Έ μμ λ 리μμ€λ₯Ό λ€μ
μμ ν΄λ κ²°κ³Ό λμΌ - μ±κ³΅ μ μΌλ°μ μΌλ‘ λΉ μλ΅ (204 No Content) - μννΈ μμ κ³ λ € (deleted_at
μ»¬λΌ μ¬μ©)
λ©μλ μ ν κ°μ΄λ
μ ν κΈ°μ€
RESTful μμΉ
μ’μ μ
λμ μ
λ€μ λ¨κ³
νλΌλ―Έν°
νμ
μ μ λ° κ²μ¦
λ°ν νμ
μλ΅ νμ
μ μνκΈ°
@api λ°μ½λ μ΄ν°
κΈ°λ³Έ μ¬μ©λ²
μλ¬ μ²λ¦¬
API μλ¬ νΈλ€λ§