λ°μ΄ν°λ² μ΄μ€λ λ§μ μμ λ°μ΄ν°λ₯Ό 체κ³μ μΌλ‘ μ μ₯νκ³ κ΄λ¦¬νκΈ° μν΄ νμνλ€.
λ¨μν μμ
νμΌμ΄λ ν
μ€νΈ νμΌμ μ μ₯ν μλ μμ§λ§, λ°μ΄ν°μ μμ΄ μ»€μ§μλ‘ κ΄λ¦¬κ° μ΄λ €μμ§λ€.
μλ₯Ό λ€μ΄ μμ² λͺ
μ νμ μ 보λ₯Ό νμΌμ μ μ΄λλ©΄, νΉμ νμμ μ°Ύκ±°λ μ 보λ₯Ό μμ νλ λ° λ§μ μκ°μ΄ κ±Έλ¦°λ€.
λ°μ΄ν°λ² μ΄μ€λ μ΄λ¬ν λ°μ΄ν°λ₯Ό ꡬ쑰ννμ¬ λΉ λ₯΄κ² κ²μνκ³ μμ ν μ μλλ‘ λλλ€.
νμΌμ λ°μ΄ν°λ₯Ό μ μ₯νλ©΄ λμΌν μ λ³΄κ° μ¬λ¬ λ² κΈ°λ‘λ μ μκ³ , κ·Έ κ³Όμ μμ μ€νλ λΆμΌμΉκ° μκΈΈ μ μλ€.
λ°μ΄ν°λ² μ΄μ€λ μ€λ³΅μ μ΅μννκ³ μΌκ΄μ±μ μ μ§νλ κΈ°λ₯μ μ 곡νλ€.
μλ₯Ό λ€μ΄ ν νμμ μ νλ²νΈλ₯Ό λ³κ²½νλ©΄, λ°μ΄ν°λ² μ΄μ€μμλ μ°κ²°λ λͺ¨λ μ λ³΄κ° μλμΌλ‘ κ°±μ λμ΄ λͺ¨μμ΄ μκΈ°μ§ μλλ€.
νλμ μμ€ν
μ ν λͺ
μ΄ μλλΌ μ¬λ¬ λͺ
μ΄ λμμ λ°μ΄ν°λ₯Ό μ¬μ©νλ€.
λ§μ½ λ¨μν νμΌλ‘ κ΄λ¦¬νλ€λ©΄, ν μ¬λμ΄ νμΌμ μ΄κ³ μμ λ λ€λ₯Έ μ¬λμ μμ ν μ μμ΄ μΆ©λμ΄ λ°μνλ€.
λ°μ΄ν°λ² μ΄μ€λ μ¬λ¬ μ¬μ©μκ° λμμ λ°μ΄ν°λ₯Ό μ½κ³ μΈ μ μλλ‘ μμ ν νκ²½μ μ 곡νλ€.
λ°μ΄ν°λ λ¨μν μ μ₯λ§ νλ©΄ λλ κ²μ΄ μλλΌ λ³΄νΈλμ΄μΌ νλ€.
λ°μ΄ν°λ² μ΄μ€λ μ¬μ©μλ§λ€ μ κ·Ό κΆνμ μ€μ ν μ μλ€.
μλ₯Ό λ€μ΄ μ΄λ€ μ¬μ©μλ μ‘°νλ§ κ°λ₯νκ³ , λ€λ₯Έ μ¬μ©μλ μμ κΉμ§ κ°λ₯νκ² ν μ μλ€.
μ΄λ₯Ό ν΅ν΄ μ€μν μ λ³΄κ° λ¬΄λΆλ³νκ² λ
ΈμΆλκ±°λ μμ λλ κ²μ λ§μ μ μλ€.
μΉμ¬μ΄νΈ, λͺ¨λ°μΌ μ±, κΈ°μ
μμ€ν
λ± λλΆλΆμ μννΈμ¨μ΄ μλΉμ€λ λ°©λν μμ λ°μ΄ν°λ₯Ό λ€λ£¬λ€.
νμ κ°μ
, κ²μκΈ μμ±, μ£Όλ¬Έ λ΄μ, κ²°μ κΈ°λ‘ λ± λͺ¨λ κ²μ΄ λ°μ΄ν°λ€.
μ΄λ¬ν λ°μ΄ν°λ₯Ό μμ μ μ΄κ³ ν¨μ¨μ μΌλ‘ λ€λ£¨κΈ° μν΄μλ λ°λμ λ°μ΄ν°λ² μ΄μ€κ° νμνλ€.
μ 리νλ©΄, λ°μ΄ν°λ² μ΄μ€λ λ§μ λ°μ΄ν°λ₯Ό λΉ λ₯΄κ³ μ ννκ² κ΄λ¦¬νκ³ , μ¬λ¬ μ¬μ©μκ° λμμ μμ νκ² νμ©ν μ μλλ‘ νλ λꡬμ΄λ€.
λ°λΌμ μννΈμ¨μ΄λ₯Ό μ λλ‘ μ΄μνκΈ° μν΄μλ λ°μ΄ν°λ² μ΄μ€κ° νμμ μ΄λΌκ³ ν μ μλ€.
βνλ©΄(νλ‘ νΈ) β λ¬Έμ§κΈ°(컨νΈλ‘€λ¬) β μΌκΎΌ(μλΉμ€) β 창ꡬ(리ν¬μ§ν 리) β μ°½κ³ (DB)β
λ°μ΄ν°κ° μ΄ κΈΈμ λ°λΌ νλ¬λ€λλ€κ³ μ΄ν΄νλ©΄ λλ€.
λΉμ : βμλΉμμ μλμ΄ λ©λ΄λ₯Ό κ³ λ₯΄λ μ₯λ©΄β
μ¬μ©μλ λ²νΌμ ν΄λ¦νκ±°λ, κΈμ μμ±ν΄μ μ μΆνλ€.
μ΄λ μ€μ λ‘λ λΈλΌμ°μ κ° HTTP μμ²μ λ§λ€μ΄ μλ²(Spring Boot)λ‘ λ³΄λΈλ€.
μ) β/user/joinβ μ£Όμλ‘ νμκ°μ
μμ²μ μ μ‘.
ν΅μ¬: νλ‘ νΈλ λ°μ΄ν°λ₯Ό λ΄μ μλ²μ μμ²μ λμ§λ μν .
λΉμ : βμλΉμμ μ£Όλ¬Έμ λ°λ μ¨μ΄ν°β
컨νΈλ‘€λ¬λ URLμ λ³΄κ³ βμ΄λ€ μλΉμ€λ‘ μ΄ μ£Όλ¬Έμ λκΈΈμ§β κ²°μ νλ€.
μ) β/user/joinβ β UserController.joinUser()
μ¬κΈ°μ λ°μ΄ν° κ²μ¦(νμ λ§λμ§, λΉ μ§ κ² μλμ§)λ 1μ°¨λ‘ μ²΄ν¬νλ€.
ν΅μ¬: 컨νΈλ‘€λ¬λ λ€μ΄μ¨ μμ²μ λΆλ₯ν΄μ μλ§μ μλΉμ€λ‘ μ λ¬.
λΉμ : βμ£Όλ°©μμ μ€μ λ‘ μ리νλ μ리μ¬β
μλΉμ€λ β무μμ μ΄λ»κ² μ²λ¦¬ν μ§β μ νλ κ³³.
μ) νμκ°μ μλΉμ€λΌλ©΄:
λΉλ°λ²νΈ μνΈν
μ€λ³΅ μ΄λ©μΌ μλμ§ νμΈ
μ μ κ°μ²΄ μμ±
DBμ μ κ·Όν΄μΌ ν μκ°μ΄ μ€λ©΄, μλΉμ€λ 리ν¬μ§ν 리μ μΌμ μν¨λ€.
ν΅μ¬: μλΉμ€λ μ 무 κ·μΉκ³Ό μ μ°¨μ μ€μ¬.
λΉμ : βμλΉμμ μμμ¬ μ°½κ³ κ΄λ¦¬μβ
μ€μ λ‘ DBμ λ§μ κ±Έμ΄ μ μ₯/μ‘°ν/μμ /μμ λ₯Ό μννλ€.
μλΉμ€λ μ§μ DBμ λννμ§ μλλ€. λ°λμ 리ν¬μ§ν 리λ₯Ό ν΅ν΄μΌ νλ€.
μ€νλ§μμ JpaRepository
κ°μ κ±Έ μ°λ©΄ κΈ°λ³Έμ μΈ CRUDλ μλμΌλ‘ λλ€.
ν΅μ¬: 리ν¬μ§ν 리λ μλΉμ€μ DB μ¬μ΄μ λ€λ¦¬.
λΉμ : βμλΉ λ·λ§λΉμ μλ κ±°λν λμ₯κ³ β
MySQL κ°μ RDBMSκ° μ€μ λ°μ΄ν° 보κ΄μ.
ν μ΄λΈ(ν) κ΅¬μ‘°λ‘ λ°μ΄ν°λ₯Ό μ μ₯.
μ) users
ν
μ΄λΈμ id, email, password, created_at
κ°μ μ΄μ΄ μλ€.
μμ²μ΄ μ€λ©΄ SQLμ΄ μ€νλκ³ , κ²°κ³Όλ₯Ό 리ν¬μ§ν 리 β μλΉμ€ β 컨νΈλ‘€λ¬ β νλ‘ νΈλ‘ λλλ €μ€λ€.
ν΅μ¬: DBλ λ°μ΄ν°κ° μ΄μμλ μ§.