Error Logs๐Ÿพ

[Spring] DTO validation ์ ์šฉ ์ค‘ ์˜ค๋ฅ˜

hae02y 2023. 6. 17. 18:56
๋ฐ˜์‘ํ˜•

๐Ÿ˜ŽError Log


DTO Validation ์ ์šฉ์ค‘์— ๋ฌธ์ž์—ด์˜ ๊ฒฝ์šฐ์—

public class CoffeePostDto {

    @NotBlank(message = "ํ•œ๊ธ€์ด๋ฆ„์€ ๊ณต๋ฐฑ์ด ์•ˆ๋˜์š”.")
    @Pattern(regexp = "^[ใ„ฑ-ใ…Ž๊ฐ€-ํžฃ]+$")
    private String korName;

    @NotBlank(message = "์˜์–ด์ด๋ฆ„์€ ๊ณต๋ฐฑ์ด ์•ˆ๋˜์š”.")
    @Pattern(regexp = "^[A-Za-z]+( [A-Za-z]+)*$")
    private String engName;


	@Pattern(regexp = "^(1\d{2}|[2-4]\d{3}|50000)$")
    private Integer price;
}

๋‹ค์Œ๊ณผ ๊ฐ™์€์‹์œผ๋กœ ์ ์šฉํ•˜์˜€๋Š”๋ฐ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค. ์œ„์˜ korName๊ณผ engName์˜ ๊ฒฝ์šฐ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ–ˆ๊ณ , price๊ฐ€ ๋ฌธ์ œ์ธ๋“ฏ ๋ณด์˜€๋‹ค. 

 

์ฐพ์•„๋ณด๋‹ˆ @Pattern ์–ด๋…ธํ…Œ์ด์…˜์€ ๋ฌธ์ž์—ด์— ๋Œ€ํ•œ ์œ ํšจ์„ฑ๊ฒ€์‚ฌ์— ์‚ฌ์šฉ๋˜์–ด ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜์— ์ง์ ‘์ ์œผ๋กœ ์‚ฌ์šฉํ• ์ˆ˜์—†์—ˆ๋‹ค. ์ฆ‰ ๋‚ด๊ฐ€ price์— ์ ์šฉํ•˜๋ ค๊ณ ํ–ˆ๋˜ 100 ์ด์ƒ 50000์ดํ•˜๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ์œ„ํ•ด์„ 

@Min(100)
@Max(50000)
private Integer price;

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ ์šฉํ•˜๋ฉด ๊ฐ€๋Šฅํ•œ๊ฒƒ์ด์˜€๋‹ค. ์ด๊ฒƒ์€ ์ž๋ฐ”์˜ ์œ ํšจ์„ฑ๊ฒ€์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ง€์›์„ ํ•˜๊ณ ์žˆ๋‹ค.

๋ฐ˜์‘ํ˜•