๐ฅ ๋ฌธ์
ํ๋ก์ ํธ๋ฅผ ์งํํ๋ ์ค, ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ค์ ๋ง๋ค์ด๋๊ณ ์ ๋์๊ฐ๋์ง ํ์ธ์ ์ํด
์คํ์ ์์ผฐ๋๋ฐ ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋์๋ค!
์์ธํ ๋ณด๋ฉด ์๋์ ๊ฐ๋ค.
2023-01-10 23:08:20.969 WARN 31776 --- [Test worker] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot construct instance of com.yata.backend.domain.yata.dto.YataRequestDto$InvitationPost (although at least one Creator exists): cannot deserialize from Object value (no delegate- or property-based Creator); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of com.yata.backend.domain.yata.dto.YataRequestDto$InvitationPost (although at least one Creator exists): cannot deserialize from Object value (no delegate- or property-based Creator) at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 2]]
์์ ์๋ฌ ์ฝ๋๋ฅผ ์ฝ์ด๋ณด๋ฉด,
ํ๋ ์ด์์ creator๊ฐ ์กด์ฌํ์ง๋ง object ๊ฐ์์ ์ญ์ง๋ ฌํ๋ฅผ ํ ์ ์๋ค ..?
์ด๊ฒ ๋ฌด์จ ๋ง์ธ๊ฐ ์ถ์ผ๋ ๋ฐ๋ก ๊ตฌ๊ธ๋ง ,,
๐ก ์์ธ
์์ธ์ jackson library๊ฐ ๋น ์์ฑ์๊ฐ ์๋ ๋ชจ๋ธ์ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์
Entity์ ํด๋์ค ๋ ๋ฒจ์ ๋ฐ๋ก ๋น ์์ฑ์๋ฅผ ์ถ๊ฐํด์ฃผ์ด์ผํ๋ค๊ณ ํ๋ค!
์ ์๋ ๋น ์์ฑ์ ์๋ง๋ค๋ฉด Entity์์ ๋นจ๊ฐ ์ค๋ก ์๋ฌ๋ฌ๋ค๊ณ ๋ณด์ฌ์คฌ์๋๋ฐ ๋ญ์ฅ ?
โ๏ธ ํด๊ฒฐ
๊ทธ๋์ Entity์ ํด๋์ค ๋ ๋ฒจ์ @NoArgsConstructor
๋ฅผ ์ถ๊ฐํด์ฃผ์๋๋
์๋ฌ ํด๊ฒฐ ์ ~
๐ฏ ๊ฟํ
์ฐธ๊ณ ๋ก @NoArgsConstructor
์ @AllArgsConstructor
๋ฅผ ๋์์ ์ธ ๊ฒฝ์ฐ์
@AllArgsConstructor
๋ฅผ ๋จผ์ ์ฐ๊ณ ๊ทธ ๋ฐ์ @NoArgsConstructor
๋ฅผ ์จ์ฃผ์ด์ผ ํ๋ค.
์ด๋ค ์์ฑ์๋ฅผ ๋จผ์ ๋ง๋๋์ ๋ฐ๋ผ ์๋ฌ์ ์ ๋ฌด๋ฅผ ๊ฒฐ์ ํ ์ ์์ผ๋ ์ฃผ์ํ๊ธฐ !!
โ ๏ธ ๊ทธ๋ฐ๋ฐ @AllArgsConstructor์ @RequiredArgsConstructor๋ ์ฌ์ฉํ์ง ์๋ ๊ฒ ์ข๋ค๊ณ ํ๋ค.
โ
์ด ์ ๋ํ ์ด์ ์ ๋ถ์ฌ ์์ฑ์๋ค์ด ๋ง๋ค์ด์ง ์ดํ์ ํ๋ ์์๋ฅผ ๋ฐ๊พธ๊ฒ ๋๋ฉด,
์ด ๋ฆฌํฉํ ๋ง์ด ์๋ํ์ง ์๊ณ lombok์ด ๊ฐ๋ฐ์๋ ์ธ์ํ์ง ๋ชปํ๋ ์ฌ์ด์ ์์ฑ์์ ํ๋ผ๋ฏธํฐ ์์๋ฅผ ํ๋ ์ ์ธ ์์์ ๋ง์ถฐ ์๋๋๋ก ๋ฐ๊พผ๋ค๊ณ ํ๋ค!
โ
๋ง์ฝ ์ด ์์๋ฅผ ๋ฐ๊ฟจ๋ ๋ ํ๋๊ฐ ๋์ผํ Type์ด๋ผ๋ฉด,
์ ํ๋ฆฌ์ผ์ด์ ์คํ ์ ์๋ฌ๋ ๋์ง ์์ง๋ง ๊ฐ์ด ๋ฐ๋์ด ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์ ์ฃผ์ํด์ผํ๋ค.
โ
[ ์ฐธ๊ณ ] https://kwonnam.pe.kr/wiki/java/lombok/pitfall
( ๋ณธ ๊ฒ์๋ฌผ์ 2022/01/15์ ์์ฑํ ๊ธ์ ์ฎ๊ธด ๊ธ์ ๋๋ค. ์๋ฌธ์ ์๊ธฐ์ ์์! )