κ²μκΈμ μ λͺ©κ³Ό λ΄μ©μ λν μ ν¨μ± κ²μ¬λ₯Ό μν μ λ Έν μ΄μ μ κ±Έμ΄μ£Όμλ€.
@NotBlank(message = "μ λͺ©μ 곡백 μμ΄ 1κΈμ μ΄μ 15κΈμ μ΄νμ¬μΌ ν©λλ€.")
@Size(min = 1, max = 15, message = "μ λͺ©μ 곡백 μμ΄ 1κΈμ μ΄μ 15κΈμ μ΄νμ¬μΌ ν©λλ€.")
private String title;
@NotEmpty(message = "λ΄μ©μ 1κΈμ μ΄μ 1000κΈμ μ΄νμ¬μΌ ν©λλ€.")
@Size(min = 1, max = 1000, message = "λ΄μ©μ 1κΈμ μ΄μ 1000κΈμ μ΄νμ¬μΌ ν©λλ€.")
private String content;
μ΄ κ³Όμ μμ @NotNull
, @NotBlank
, @NotEmpty
μ°¨μ΄λ μκ² λμλ€.
κ°λ¨νκ² μ 리νμλ©΄ λ€μκ³Ό κ°λ€.
@NotNull
: null νμ© X@NotEmpty
: null, "" νμ© X@NotBlank
: null, "", " "(곡백) νμ© Xvalidation μ λ Έν μ΄μ μ μν°ν°μ dto λ μ€μ μ΄λμ λΆμΌκΉ κ³ λ―Όνλ€κ° dtoμ λΆμ¬μ£Όμλλ°, κ·Έ μ΄μ λ λ€μκ³Ό κ°λ€.
dtoμ validation μ λ Έν μ΄μ μ λΆμ¬μ£Όλ€κ° λ¬Έλ @Column(length = 15)κ°μ μ»¬λΌ λ§€ν μ λ Έν μ΄μ λ λΆμ¬μ€μΌ νλμ§ κΆκΈνλ€.
μ΄λ―Έ λ°μ΄ν°μ μ ν¨μ±μ κ²μ¬ν λ€μμ DBλ‘ λ겨주λλ° κ΅³μ΄ @Columnμ ν΅ν΄μ μ μ½ μ‘°κ±΄μ κ±Έμ΄μ€ νμκ° μλ μΆμκ³ , λ©ν λκ» μ΄μ λν μ§λ¬Έμ λλ Έλ€.
λμμ¨ λλ΅μ "λΆμ¬μ£Όμ΄μΌ νλ€"μλ€.
μ ννλ DBμ μ μ½μ‘°κ±΄μ μ§μ κ±Έμ΄μ€¬λ€λ©΄ μν°ν°μλ λκ°μ΄ λͺ
μν΄μ€μΌ νλ€κ³ νμ
¨λ€.
κ·Έ μ΄μ λ μ¬λ¬κ°μ§κ° μμλλ° κ·Έ μ€ κ°μ₯ μλΏμ κ²μ κ°λ μ±μ λμ¬μ€λ€λ μ κ³Ό κ°λ°μμ μ€μλ₯Ό λ°©μ§ν μ μλ€λ μ μ΄μλ€.
μμΈ μ²λ¦¬λ₯Ό μ΄λ€ λ°©μμΌλ‘ μ§ννλμ§ κ°μ΄ μ μ‘νμ μ§μΈμκ² λμμ μμ²νκ³ , @ExceptionHandler
μ @RestControllerAdvice
λ₯Ό ν΅ν΄ λͺ¨λ μμΈλ₯Ό ν κ³³μμ 곡ν΅μΌλ‘ μ²λ¦¬νλ μ λ΅μ λν΄μ μκ² λμλ€.
μμ μ½λλ₯Ό μ°Έκ³ νμ¬ κ΅¬ννκΈ°λ§ ν΄μ, ν΄λΉ κ°λ μ λν΄ κΉκ² νμ΅νκ³ μ€μ€λ‘ λ€μ ν λ² κ΅¬νν μμ μ΄λ€.
μμ²ν λ°μ΄ν°μ μ ν¨μ± κ²μ¬λ λ무λ μ€μνλ€.
νμ§λ§ μ΄λ€ λ°©μμΌλ‘ κ²μ¬νκ³ , μμΈκΉμ§ μ²λ¦¬νλμ§ μ λͺ°λΌμ λ°°μμΌμ§ λ°°μμΌμ§ νλ©΄μ λ―Έλ£¨κ² λμλ€.
κ·Έλ¬λ€κ° μ΄λ² κΈ°νμ μ ν¨μ± κ²μ¬μ μμΈ μ²λ¦¬μ λν μ 체μ μΈ λ°©λ²μ μκ² λμκ³ , μ΄μ μ€μ€λ‘ ν λ§ν κ² κ°λ€λ μκ°μ΄ λ λ€.