λ μ§λ¬Έμ μ νν μλ―Έλ₯Ό μ΄ν΄νκ³ ν΄λ΅μ μ°ΎκΈ° μν΄μλ λ¨Όμ μ΄λ€ 쑰건μμλΌλ μ μ κ° λ§€μ° μ€μν΄ λ³΄μ λλ€. ν λΉμ μ€νλ§ 3.1 vol.1μ νλ°λΆμ μν€ν μ²μ λν΄ μ€λͺ νλ λΆλΆμμ μ λ λλ¦μ ν΄λ΅μ μ°Ύμ κ² κ°μ΅λλ€. λ°μ΄ν° μ€μ¬ μν€ν μ²μ μ€λΈμ νΈ μ€μ¬ μν€ν
μλμ μ μ₯μλ€μ connectionlessμ statelessλ₯Ό μ§ν₯νλ HTTPS ν΅μ νλ‘ν μ½μ νκ³λ₯Ό 보μνκΈ° μν΄ λμ¨ κ²λ€μ λλ€. μ¦, μλ²κ° κ°κ°μ ν΄λΌμ΄μΈνΈλ€μ ꡬλ³νκ³ , μλ³νκΈ° μν΄ λ°μ΄ν°λ₯Ό μ μ₯νλ κ²μ λλ€.μλ²μμ μμ± ν ν΄λΌμ΄μΈνΈμμ κ΄λ¦¬νμ©
DTOλ κΈ°λ³Έμ μΌλ‘ μλ£κ΅¬μ‘°λΌκ³ νμμ΅λλ€. κ·Έλ λ€λ©΄ getter/setterλ₯Ό μ¬μ©νμ§ μκ³ κ°κ°μ νλ κ°μ μ§μ μ μΌλ‘ μ κ·Όνλ κ²μ΄ λ λ§λ λ°©ν₯μ±μ΄ μλκ°? λΌλ μ§λ¬Έμ΄ μκ²Όμ΅λλ€.DTOμμ Getter/Setterλ₯Ό μ¬μ©νλ μ΄μ λ μλμ κ°μ΅λλ€.getter
μ΄ κ°λ λ€μ μ¬λ¬ κ°μ ν¨μ/λ©μλκ° μλ νκ²½μμ κ°κ°μ ν¨μ/λ©μλλ₯Όκ° μν λ λ, μνΈ κ°μ μ΄λ€ κ΄κ³λ₯Ό κ°μ§μ§μ λν λΆλΆμ λλ€.νΈμΆ λλ ν¨μμ μμ μλ£ μ¬λΆλ₯Ό νμΈ ν©λλ€.μμ μ΄ μλ£ λ λκΉμ§ κΈ°λ€λ¦½λλ€λ©μλ Aκ° λ©μλ Bλ₯Ό νΈμΆ νμμ λ, λ©μλ
νΉμ§:Spring Frameworkμ μμ‘΄μ± μ£Όμ λ°©λ² μ€ νλμ λλ€.μ μ°μ±μ΄ λκ³ μ νμ μΈ μμ‘΄μ± μ²λ¦¬κ° κ°λ₯ν©λλ€.κ°μ²΄ μμ± νμλ μμ‘΄μ±μ λ³κ²½ν μ μμ΅λλ€.μμ:νΉμ§:Lombok λΌμ΄λΈλ¬λ¦¬μ κΈ°λ₯μΌλ‘ μμ±μλ₯Ό μλμΌλ‘ μμ±ν©λλ€.λͺ¨λ νλλ₯Ό νλΌλ―Έν°λ‘ λ°λ μ
물건μ μ°Ύμ λ, κ·Έ λ¬Όκ±΄μ΄ μμ μλ μκ³ μμ μλ μλ μν©μ μκ°ν΄λ³΄λ©΄ Optional<T>λ₯Ό μ½κ² μ΄ν΄ ν μ μμ΅λλ€. 물건μ μ°Ύμ λ, ν΄λΉ λ¬Όκ±΄μ΄ μμΌλ©΄ "μ¬κΈ° μμ΄μ"λΌκ³ λ§νκ³ , μλ€λ©΄ "μ£μ‘νμ§λ§ μλ€μ"λΌκ³ λ§ν μ μμ΅λλ€. Optional
νμ¬μμλ SVNμ μ¬μ©νλ€λ³΄λ gitμ μ¬μ©ν κΈ°νκ° μ μ°¨ μ μ΄μ‘μ΅λλ€.κ·Έλ¬λ€κ° λ€μ νλ‘μ νΈμμ μ¬μ©ν νμ€μ λ§λλ κ³Όμ μμ gitμ μ κ·Ήμ μΌλ‘ λμ νλνκ² λμμ΅λλ€.μ΄μ μ gitμ μ¬μ©ν μ μ μμ§λ§ 본격μ μΌλ‘ μ΄ν΄ν΄μ μ¬μ©ν기보λ€λ μΌμμ μΌλ‘ κ·Έλκ·Έλ νλ루
HTTP λ©μλμ PUTκ³Ό DELETEλ₯Ό Tomcatκ³Ό Apache μλ²μμ μ°¨λ¨ν΄λ¬λΌλ μμ²μ΄ μμμ΅λλ€.μ°μ μ λλ¦μ κ·Όκ±°λ₯Ό μ μν΄μκ³ , μ μλ μ νλ PUT, DELETE λ©μλκ° νμμ μΈ RESTAPIλ°©μμ΄ μλ SOAP λ°©μμ΄μμΌλ―λ‘ μ°¨λ¨ν μ μλ μ€μ μ μΆ
gitμ΄λΌλ ν΄μ΄ κ·Έλ₯ μ¬μ©νλ€ λ³΄λ©΄ μ΅νμ§μ§ μμκΉλΌλ μκ°μΌλ‘ λͺμ°¨λ‘ μ¬μ©ν΄λ³΄μμ΅λλ€. κ·Έλ¬λ μ’μ²λΌ gitμ΄λΌλ ν΄μ λν μ΄ν΄λλ μ¬λΌμ€μ§ μμκ³ , μ¬λ΄ νλ‘μ νΈλ SVNμ μ¬μ©νλ€ λ³΄λ Gitκ³Όλ λ λ©μ΄μ‘λ€λ μκΈ°κ°μ λλΌκ² λμμ΅λλ€.ν΄μ 본격μ μΌλ‘ git
μ°μ , μ λ Έν μ΄μ μ μ λ Έν μ΄μ μ체λ‘μλ μ£Όμ κ·Έ μ΄νλ μ΄μλ μλμ μμμΌ ν©λλ€. λ¨, μΌλ°μ μΈ μ£Όμκ³Ό λ¬λ¦¬ κ·Έ λμμ΄ μ»΄ν¨ν°κ° μ½λ μ£Όμμ΄λΌκ³ μκ°νλ©΄ λλ λΆλΆμ λλ€.μ λ Έν μ΄μ μμ @Retensionμ μ λ Έν μ΄μ μ μ ν¨ν λ²μλ₯Ό μλ €μ€λλ€. μ¦, μ€μ½ν μ€μ
νμ¬μμ μ΄μ ν μ€νΈ μ€ μΊμμ λν λ¬Έμ κ° λλ λμμ΅λλ€. μΊμκ° ν΄λΌμ΄μΈνΈλ€μ λΈλΌμ°μ μ μ μ₯ λμ΄μμ΄ μ΅μ μμ€λ‘ μ¬λ°°ν¬ ν΄λ μ’ μ²λΌ λ°μμ΄ λμ§ μμκ³ , κ³ κ°λ€μκ² μΊμ λΉμ°κΈ° λ° κ°λ ₯ μλ‘κ³ μΉ¨μ λ°©λ²μ μλ €μ£Όλ λ©λ΄μΌμ λ°°ν¬νμ¬νλ ν΄νλμ΄ λ²μ΄μ‘μ΅λλ€.&
μ¬μ΄λ νλ‘μ νΈ Yaksokμ μ§ννλ©΄μ μ²μμΌλ‘ RESTAPIλ₯Ό κΈ°λ°μΌλ‘ νλ‘ νΈμ€λμ λ°±μλμ μ λ¬΄κ° μμ ν λΆλ¦¬λ κ°λ° κ²½νμ νκ³ μμ΅λλ€.λͺ¨λ μ΄μ μ κ°λνμ§λ§ κ²½νμ λ§μ§ μμ μ½μ§μ μ°μμ΄μλλ° μ¬νκΉμ§μ μ¬μ μ μμ½νλ©΄ μλμ κ°μ΅λλ€.μ΄μ κ°λν μ°λ¦¬λ
μ§λ ¬νλ κ°μ²΄λ₯Ό λ°μ΄νΈ μ€νΈλ¦ΌμΌλ‘ λ³ννλ κ³Όμ μ λ§ν©λλ€. μ΄λ¬ν λ°μ΄νΈ μ€νΈλ¦Όμ νμΌλ‘ μ μ₯νκ±°λ λ€νΈμν¬λ₯Ό ν΅ν΄ μ μ‘ν μ μμ΅λλ€. μλ°μμλ Serializable μΈν°νμ΄μ€λ₯Ό ꡬννμ¬ κ°μ²΄λ₯Ό μ§λ ¬νν μ μμ΅λλ€.μμ§λ ¬νλ μ§λ ¬νλ λ°μ΄νΈ μ€νΈλ¦Όμ λ€μ κ°μ²΄
μ¬λ΄ μ¬μ΄λ νλ‘μ νΈλ₯Ό νλ λμ€ νκΈλͺ μ κ°λ νμΌλ€μ μ΄λ¦μ μμ λͺ¨μμ΄ λΆλ¦¬λλ νμμ΄ μΌμ΄λ¬μ΅λλ€. λ§₯λΆμ΄λ 리λ μ€ λ ΈνΈλΆμΌλ‘ νμΈνμμ λλ μ΄μμ΄ μμμΌλ, μλμ°λ‘ νμΈνμμ λ μ¦μμ΄ λνλ¬μ΅λλ€.ν΄λΉ λ¬Έμ λ νκΈμ μ λ ₯ λ°©μμ μ°¨μ΄λ‘ μΈν΄ λ°μνλ λ¬Έμ