Github : https://github.com/HAN-SEOHYUN/todaysjjigae
π¨ μκ°
λ§€μΌ μ λ λ°λ³΅λλ λ©λ΄ κ³ λ―Όμ λκΈ° μν΄ μ μνμ΅λλ€.
- 'μ€λμ μ°κ°' μμ μ°κ°λ₯Ό λλ€μΌλ‘ μ νν΄λ립λλ€.
- μ¬μ©μμ μ νΈλκ° λμ μ°κ°λ μΆμ²¨νλ₯ μ΄ λμ΅λλ€.
- μ’μνλ μ°κ°λ₯Ό λ±λ‘, μμ , μμ κ°λ₯ν©λλ€.
- API μλ²λ§ ꡬνλμμ΅λλ€.
πͺλͺ©ν
- Kotlin μΈμ΄ νμ΅
- REST API
- μ체 Exception ν΄λμ€ μμ± : λ°μν μ μλ λͺ¨λ μμΈλ₯Ό κ³ λ €νμ¬ μμΈμ²λ¦¬
βοΈκ°λ° νκ²½
- Gradle
- Kotlin 1.6.21
- Springboot 2.7.5
- Mysql (AWS RDS)
- Spring Data JPA
π οΈνλ‘μ νΈ κ΅¬μ‘°
- DTO : κ³μΈ΅ κ° λ°μ΄ν° μ μ‘μ μν κ°μ²΄ μμ±
- Entity : λλ©μΈ λͺ¨λΈ
- Mapper μΈν°νμ΄μ€ / ν΄λμ€ : κ°μ²΄μ DTO κ°μ λ³νμ λλ λ©μλ μμ± ( fromEntity(ENTITY) , toEntity(DTO) )
- Repository μΈν°νμ΄μ€ : JpaRepository - JPA κ΄λ ¨ μμ λ€μ λ³λμ μ½λ μμ΄ μ²λ¦¬ κ°λ₯νκ² λμ
- Service : λΉμ¦λμ€ λ‘μ§ μ²λ¦¬
- Exception : μμΈ μ²λ¦¬
- Resource : 컨νΈλ‘€λ¬
POSTMAN API TEST
βΆ λλ€ μ°κ° μΆμ²
[Kotlin] λͺ©λ‘μμ λλ€μΌλ‘ 1κ°λ§ κ°μ Έμ€κΈ° (response : objectDTO)
DB μ μ μ₯λ μ°κ° λͺ©λ‘μ€μμ λλ€μΌλ‘ 1κ°μ§λ§ κ°μ Έμ€λ λ©μλ getRandomJjigae() λ₯Ό λ§λ€μ΄λ³΄κ² λ€. 1. λͺ¨λ μ°κ° μ 보 κ°μ Έμ€κΈ° 2. μ°κ°μ Idλ§ List μ λ΄κΈ° 3. List μ λ΄κΈ΄ id μ€ λλ€μΌλ‘ 1κ° κ³ λ₯΄κΈ° (
feelfreetothink.tistory.com
βΆ new μ°κ° λ±λ‘
Exception : auto_increment μΈ id λ₯Ό μ§μ μ λ ₯νλ€λ©΄ ?
γ΄ JjigaeException λ°μ : message "Id must be null"
βΆ λͺ¨λ μ°κ° List κ°μ Έμ€κΈ°
Exception : λ±λ‘λ Object κ° μλ€λ©΄ ?
γ΄ JjigaeException λ°μ : message "List of Jjigae is empty"
βΆ μ°κ° μμ νκΈ°
Exception : ν΄λΉ Object λ₯Ό μ°Ύμ μ μμ΄ μμ μ΄ λΆκ°νλ€λ©΄ ?
γ΄ JjigaeException λ°μ : message "Jjigae with id ${jjigaeDTO.id} id not present"
βΆ μ°κ° μμ νκΈ°
Exception : ν΄λΉ Object λ₯Ό μ°Ύμ μ μμ΄ μμ κ° λΆκ°νλ€λ©΄ ?
γ΄ JjigaeException λ°μ : message "Jjigae with id $id is not present"
'νλ‘μ νΈ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Decoupled Architecture] CORS (0) | 2022.12.07 |
---|---|
[Decoupled Architecture] νλ‘ νΈμλ & λ°±μλ μλ² λΆλ¦¬ νκ²½μμμ λ°μ΄ν° μ λ¬ (0) | 2022.12.06 |
[Kotlin ν μ΄νλ‘μ νΈ] CRUD λ³ μμΈ μ²λ¦¬ (0) | 2022.11.18 |
[Kotlin ν μ΄νλ‘μ νΈ] Handling Exceptions (0) | 2022.11.18 |
[Kotlin ν μ΄νλ‘μ νΈ] νλ‘μ νΈ κ΅¬μ‘°μ€κ³ (0) | 2022.11.18 |