-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
π μλ¬ μ½λ 곡ν΅ν λ° μΈν°νμ΄μ€ μμ± #4
Conversation
λ€μ νμΈν΄λ³΄λ CausedBy ν΄λμ€ λ²μ μ£Όμμ μλ |
pennyway-common/src/main/java/kr/co/pennyway/common/exception/CausedBy.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
μλ¬ μ½λμ λν ν μ€νΈκΉμ§ μμ±ν΄μ£Όμ€ μ€ λͺ°λλλ°, κ³ μ λ§μΌμ ¨μ΅λλ€!
pennyway-common/src/main/java/kr/co/pennyway/common/exception/CausedBy.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
μ΄λ κ² μμΈν μλ¬μ½λλ₯Ό μμ±νλ λ°©λ²μ μ²μλ΄μ λλμ΅λλ€!
λ§μ΄ λ°°μκ°λλ€~
μμ μ΄μ
μμ μ¬ν
βοΈ μμ½
StatusCode
,ReasonCode
μ΄κ±° νμ ν΄λμ€ μμ±.DomainCode
μFieldCode
λ μΈν°νμ΄μ€ν.DomainCode
: λλ©μΈ λͺ¨λμμ ν΄λΉ μΈν°νμ΄μ€λ₯Ό ꡬνν νλμ μ΄κ±° νμ ν΄λμ€λ‘ κ΄λ¦¬νλ€.FieldCode
: κ° Domain λ³λ‘ ν΄λΉ μΈν°νμ΄μ€λ₯Ό ꡬνν μ΄κ±° νμ ν΄λμ€λ₯Ό μμ±νλλ‘ νλ€.CausedBy
record μμ±GlobalExceptionHandler
μμ κ³΅ν΅ μμΈλ₯Ό μ²λ¦¬νκΈ° μνGlobalErrorException
μμ±BaseErrorCode
λ₯Ό ꡬνν΄μΌ νλ€.GlobalErrorException
μ μμλ°μ μ μλ€.AuthErrorException
,DomainErrorException
1οΈβ£ Base Code : StatusCode
2οΈβ£ Base Code : ReasonCode
3οΈβ£ Base Code : DomainCode
ZERO(0)
μ ν¬ν¨νλ€.4οΈβ£ Base Code : FieldCode
16μ§μ
λ‘ λ³κ²½λ μ μλ€.ZERO(0)
μ ν¬ν¨νλ€.5οΈβ£ CausedBy
NPE
κ° λ°μνλ€.IllegalArgumentException
μ΄ λ°μνλ€.statusCode
: μΈμ λ 3μ리 μ μκ°μ κ°λλ€.reasonCode
: μΈμ λ 1μ리 μ μκ°μ κ°λλ€.domainCode
: 1μ리 νΉμ 2μ리 μ μκ°μ κ°λλ€.fieldCode
: μΈμ λ 1μ리 μ μκ°μ κ°λλ€.CausedBy
κ°μ²΄λ₯Ό μμ±ν λλ μμ±μ νΉμ μ μ ν©ν 리 λ©μλλ₯Ό μ¬μ©νλ€.6οΈβ£ BaseErrorCode
GlobalErrorException
μΌλ‘ μμΈλ₯Ό λμ§κΈ° μν 컀μ€ν μμΈκ° λ°λμ ꡬνν΄μΌ νλ μΈν°νμ΄μ€causedBy()
: μμΈ μ 보μΈCausedBy
κ°μ²΄λ₯Ό λ°ννλ λ©μλgetExplainError()
: μλ¬ λ‘κ·Έ νΉμ ν΄λΌμ΄μΈνΈ μΈ‘μ μλ¬ μ΄μ λ₯Ό μ€λͺ νκΈ° μν λ©μλ.explainError
μ μ©λλ μΆν ν νμλ₯Ό ν΅ν΄ λͺ νν νλλ‘ νλ€.7οΈβ£ GlobalErrorException
@RestControllerAdvice
λ₯Ό ν΅ν΄ μ μ μλ¬λ₯Ό νΈλ€λ§νκΈ° μν μμΈ κ°μ²΄.BaseErrorCode
λ₯Ό ꡬννλ λͺ¨λ 컀μ€ν μλ¬κ° 곡ν΅μ μΌλ‘ μ¬μ© κ°λ₯νλ€.AuthErrorException
DomainErrorException
리뷰μ΄κ° μ€μ μ μΌλ‘ νμΈν΄μΌ νλ λΆλΆ
CausedBy
μ Compact Constructor λ΄ μμΈ μ²λ¦¬κ° νλΉνμ§?BaseErrorCode
λ₯Ό ꡬννλ 컀μ€ν μμΈ ν΄λμ€μμ λ€λ£°explainError
μ μ¬μ©μ²μ λν μμ΄λμ΄ νμ.λ°κ²¬ν μ΄μ
π‘ ν μ€νΈ μ½λ μΆκ°
μ΄ 6κ°μ§ ν μ€νΈλ₯Ό μννμκ³ , μ μμ μΌλ‘ ν΅κ³Όνμμ νμΈνμ΅λλ€.