Rest API?
Spring Boot - What is Rest API?
π‘ Restλ?
β
- μΉκ³Ό κ°μ λΆμ° νμ΄νΌλ―Έλμ΄ μμ€ν μμ μ¬μ©νλ ν΅μ λ€νΈμν¬ μν€ν μ²
- HTTPμ URIμ λ¨μνκ³ κ°κ²°ν μ₯μ μ κ³μΉν Network μν€ν μ³
- μ°Έκ³ :
https://meetup.toast.com/posts/92
π‘ Restκ° λ§λ€μ΄μ§ λͺ©μ
- ꡬμ±μμ μνΈμμ©μ κ·λͺ¨ νμ₯μ±
- μΈν°νμ΄μ€μ λ²μ©μ±
- ꡬμ±μμμ λ 립μ μΈ λ°°ν¬
- μ€κ°μ ꡬμ±μμλ₯Ό μ΄μ©ν μλ΅ μ§μ° κ°μ, 보μ κ°ν, λ κ±°μ μμ€ν μΈμΊ‘μλ μ΄μ
Rest API μ€κ³νκΈ°
- μμ : URI
- νμ : HTTP λ©μλ
- νν : 리μμ€μ λν νν (HTTP Message Body)
π‘ URI μ€κ³
URIλ URLμ ν¬ν¨ν κ°λ
URL : μΉμμ νμΌ μμΉλ₯Ό νν -> http://localahost8080/api/book.pdf
URI : μΉμ μλ μμμ μ΄λ¦κ³Ό μμΉλ₯Ό μλ³ -> http://localhost:8080/api/book/1
-
URI λ λͺ μ¬λ₯Ό μ¬μ©νλ©° λμ¬λ₯Ό νΌν΄μ£Όμ. λμ¬λ₯Ό μ°μ§ μκ³ HTTP λ©μλλ‘ λ체λ₯Ό ν΄μ€μΌνλ€.
-
볡μνμ μ¬μ©νμ.
-
컬λ μ μΌλ‘ URIλ₯Ό μ¬μ©ν κ²½μ° μ»¬λ μ μ νλ² λ κ°μΌ μ€μ²©νμμΌλ‘ μ¬μ©νμ -> μΆν μμ , νμ₯ μ λ²κ±°λ‘μμ μμ°
__μ€μ²© μ __
{
{
books: ...
},
{
stores: ...
}
}
μ€μ²© ν
{
_embedded: [
{
books:...
},
{
stores:...
},
]
}
π‘ νμμ€κ³
-
booksλ₯Ό κ°κ³ νμλ₯Ό μ€κ³νλ€κ³ νμ
-
book λͺ©λ‘μ 보기 μν΄μλ GET(read)λ₯Ό μ¬μ©ν΄μΌνλ©°, bookμ μΆκ°νκΈ° μν΄μλ POST(create)λ₯Ό μ¬μ©ν΄μΌνλ€.
-
μ΄λ κ² GET, POST, PUT, DELETEλ₯Ό μλ§κ² κΈ°λ₯μ λ§μΆ° λ§λ€μ΄μ€μΌ νλ€.
(μμ) booksλ₯Ό κ²μνμ ννν λ νμ΄μ§μ μ²λ¦¬νλ κ°μ μΆκ°ν΄μ£Όμ
JPAμ pageableμ νλ‘νΌν°κ°μ κ·Έλλ‘ μ¬μ©ν μ μλ€.
GET http://localhost:8080/api/books?page=0&size=10&sort=desc