πλ€λ‘κ°κΈ°
URIλ?
URI(Uniform Resource Identifier)λ μΈν°λ·μμ μμμ μλ³νλ λ° μ¬μ©λλ κ³ μ ν λ¬Έμμ΄μ΄λ€. RESTful APIμμλ μμμ λν μ‘μΈμ€μ μ‘°μμ μν URIλ₯Ό μ¬μ©νλ€. ν¨κ³Όμ μΈ URI μ€κ³λ APIλ₯Ό μ½κ² μ΄ν΄νκ³ μ¬μ©ν μ μλλ‘ λλλ€.
λ€μμ URI μ€κ³ μμΉμ λν λͺ κ°μ§ ν΅μ¬ μ¬νμ΄λ€.
ν΅μ¬ URI μ€κ³ μμΉ
- λͺ
μ¬ μ¬μ©
URIλ μμμ λνλ΄μΌ νλ―λ‘ λͺ
μ¬λ₯Ό μ¬μ©ν΄μΌ νλ€. λμ¬λ₯Ό μ¬μ©νλ κ²μ νΌνκ³ , λμ HTTP λ©μλ(GET, POST, PUT, DELETE λ±)λ₯Ό μ¬μ©νμ¬ λμμ νννλΌ.
- 볡μν μ¬μ©
μμμ μ§ν©μ ννν λλ 볡μν λͺ
μ¬λ₯Ό μ¬μ©ν΄μΌ νλ€. μλ₯Ό λ€μ΄, μ¬μ©μλ₯Ό λνλ΄λ μμμ κ²½μ°
/usersμ κ°μ΄ 볡μνμ μ¬μ©νλ€.
- κ³μΈ΅ ꡬ쑰 νν
URIμμ κ³μΈ΅ ꡬ쑰λ₯Ό νννκΈ° μν΄ μ¬λμλ₯Ό μ¬μ©ν΄μΌ νλ€. μλ₯Ό λ€μ΄ νΉμ μ¬μ©μμ μ£Όλ¬Έ λ΄μμ **
/categories/{category_id}/subcategories**μ κ°μ΄ ννν μ μλ€.
(μ΄ μμμμλ κ³μΈ΅ κ΅¬μ‘°κ° βμΉ΄ν
κ³ λ¦¬>νμ μΉ΄ν
κ³ λ¦¬β λ‘ ννλμλ€.)
- μμ κ° κ΄κ³ νν
κ΄κ³λ₯Ό λνλ΄λ €λ©΄ URIλ₯Ό μ€μ²©νμ¬ μ¬μ©ν΄μΌ νλ€. μλ₯Ό λ€μ΄, νΉμ μ¬μ©μκ° μν κ·Έλ£Ήμ νννλ €λ©΄
/users/{user_id}/group μ κ°μ΄ ννν μ μλ€.
(μ΄ μμμμλ "μ¬μ©μμ κ²μλ¬Ό"μ΄λΌλ μλ‘ κ΄λ ¨ μλ μμ κ°μ κ΄κ³κ° ννλμλ€)
- μλ¬Έμ μ¬μ©
URIμμλ μλ¬Έμλ₯Ό μ¬μ©νλ κ²μ΄ μ’λ€. λμλ¬Έμ ꡬλΆμ΄ μκΈ° λλ¬Έμ λλ¬Έμλ₯Ό μ¬μ©νλ©΄ νΌλμ μ€ μ μλ€.
- μΌλ°₯ μΌμ΄μ€ μ¬μ©
URIμμ λ¨μ΄λ₯Ό ꡬλΆν λλ μΈλμ€μ½μ΄
_βλμ νμ΄ν -μ μ¬μ©νλ κ²μ΄ μ’λ€. μ΄λ κ²μ μμ§ μ΅μ ν(SEO)μ κ°λ
μ±μ λμμ΄ λλ€.
- νν°λ§ λ° μ λ ¬
쿼리 λ¬Έμμ΄μ μ¬μ©νμ¬ μμμ λν νν°λ§, μ λ ¬, νμ΄μ§ λ±μ μ§μν΄μΌ νλ€. μλ₯Ό λ€μ΄
/users?sort=name&limit=10&page=2 μ κ°μ΄ μ¬μ©ν μ μλ€.
- λͺ
λ£νκ³ κ°κ²°νκ²
κ°λ₯ν κ°κ²°νκ³ λͺ
λ£ν URIλ₯Ό μ¬μ©ν΄μΌ νλ€. λΆνμν λ¨μ΄λ κΈΈμ΄λ₯Ό μ€μ¬ κ°λ
μ±μ λμ΄κ³ , μ΄ν΄νκΈ° μ¬μ΄ ꡬ쑰λ₯Ό λ§λλ κ²μ΄ μ€μνλ€.