findByIdλ IDλ‘ λ¨μΌ λ μ½λλ₯Ό μ‘°ννλ λ©μλμ
λλ€. μ§μ λ μλΈμ
μΌλ‘ λ°μ΄ν°λ₯Ό λ‘λνλ©°, λ μ½λκ° μμΌλ©΄ NotFoundExceptionμ λ°μμν΅λλ€.
findByIdλ BaseModelClassμ μ μλμ΄ μμ§ μμ΅λλ€. Entityλ₯Ό μμ±νλ©΄ Syncerκ° κ° Model ν΄λμ€μ
μλμΌλ‘ μμ±νλ νμ€ ν¨ν΄μ
λλ€.νμ μκ·Έλμ²
μλ μμ± μ½λ
Sonamuλ Entityλ₯Ό κΈ°λ°μΌλ‘ λ€μ μ½λλ₯Ό μλμΌλ‘ μμ±ν©λλ€:findManyλ₯Ό νΈμΆνμ¬ IDλ‘ μ‘°νnum: 1, page: 1λ‘ λ¨κ±΄λ§ κ°μ Έμ΄- κ²°κ³Όκ° μμΌλ©΄
NotFoundExceptionλ°μ - 첫 λ²μ§Έ λ μ½λ λ°ν
λ§€κ°λ³μ
subset
μ‘°νν λ°μ΄ν°μ μλΈμ μ μ§μ ν©λλ€. νμ :SubsetKey (μ: "A", "B", "C")
μλΈμ
μ Entity μ μμμ μ€μ ν λ°μ΄ν° ννλ₯Ό κ²°μ ν©λλ€. κ° μλΈμ
μ λ€λ₯Έ νλμ κ΄κ³λ₯Ό ν¬ν¨ν μ μμ΅λλ€.
id
μ‘°νν λ μ½λμ IDμ λλ€. νμ :number
λ°νκ°
νμ :Promise<SubsetMapping[T]>
μ§μ λ μλΈμ
νμ
μ λ μ½λλ₯Ό λ°νν©λλ€. νμ
μ μλΈμ
μ λ°λΌ μλμΌλ‘ μΆλ‘ λ©λλ€.
μμΈ
NotFoundException
IDμ ν΄λΉνλ λ μ½λκ° μμΌλ©΄NotFoundExceptionμ΄ λ°μν©λλ€.
κΈ°λ³Έ μ¬μ©λ²
λ¨μ μ‘°ν
APIμμ μ¬μ©
findByIdλ μλμΌλ‘ @api λ°μ½λ μ΄ν°κ° μ μ©λμ΄ REST APIλ‘ λ
ΈμΆλ©λλ€:
μλΈμ λ³ μ¬μ©
μλΈμ A (κΈ°λ³Έ)
μλΈμ B (κ΄κ³ ν¬ν¨)
μλΈμ C (μ€μ²© κ΄κ³)
μ€μ μμ
- μ¬μ©μ νλ‘ν
- μ£Όλ¬Έ μμΈ
- κΆν νμΈ
- μλ¬ μ²λ¦¬
findById vs findOne vs findMany
findById
- IDλ‘ λ¨μΌ λ μ½λ μ‘°ν
- λ μ½λκ° μμΌλ©΄ μμΈ λ°μ
- κ°μ₯ κ°λ¨νκ³ λΉ λ¦
- μλ μμ±λ¨
findOne
- 쑰건μΌλ‘ λ¨μΌ λ μ½λ μ‘°ν
- λ μ½λκ° μμΌλ©΄ null λ°ν
- 볡μ‘ν 쑰건 κ°λ₯
- μ§μ ꡬν νμ (μ νμ )
findMany
- 쑰건μΌλ‘ μ¬λ¬ λ μ½λ μ‘°ν
- νμ΄μ§λ€μ΄μ μ§μ
- μ΄ κ°μ λ°ν
- μλ μμ±λ¨
νμ μμ μ±
μλΈμ μ λ°λΌ λ°ν νμ μ΄ μλμΌλ‘ μΆλ‘ λ©λλ€:ν΄λΌμ΄μΈνΈ μ¬μ©
React (TanStack Query)
Vue
μ£Όμμ¬ν
1. μλΈμ μ ν
νμν λ°μ΄ν°λ§ ν¬ν¨νλ μλΈμ μ μ ννμΈμ. λΆνμν κ΄κ³λ₯Ό λ‘λνλ©΄ μ±λ₯μ΄ μ νλ©λλ€.2. μμΈ μ²λ¦¬
findByIdλ λ μ½λκ° μμΌλ©΄ μμΈλ₯Ό λ°μμν΅λλ€. νμν κ²½μ° μμΈ μ²λ¦¬λ₯Ό μΆκ°νμΈμ.
3. null κ°λ₯μ±
λ μ½λ μ‘΄μ¬ μ¬λΆκ° λΆνμ€νλ©΄findOneμ μ¬μ©νμΈμ (μ§μ ꡬν νμ).
λ€μ λ¨κ³
findMany
리μ€νΈ μ‘°ν λ° νμ΄μ§λ€μ΄μ
save
λ μ½λ μ μ₯ λ° μμ
Subset
μλΈμ
μ΄ν΄νκΈ°
μμΈ μ²λ¦¬
NotFoundException μ²λ¦¬