์˜ค๋ฅ˜ ํ•ด๊ฒฐ

์Šคํ”„๋ง + MongoDB) @JsonProperty @JsonNaming ์ธ์‹ ์•ˆ๋จ

stoneeee 2023. 7. 13. 22:01

 

์ž๋ฐ”๋Š” ๋ณ€์ˆ˜๋ช…์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์นด๋ฉœ์ผ€์ด์Šค๋กœ ์ž‘์„ฑํ•˜๊ณ , JSON/BSON ๊ธฐ๋ฐ˜์˜ ๋ชฝ๊ณ ๋””๋น„๋Š” ์Šค๋„ค์ดํฌ์ผ€์ด์Šค๊ฐ€ ๊ธฐ๋ณธ ์ปจ๋ฒค์…˜์ด๋‹ค.

๋”ฐ๋ผ์„œ ์Šคํ”„๋ง์˜ ๋ชฝ๊ณ ๋””๋น„ document์—์„œ ํ•„๋“œ๋ช…์„ ์„ ์–ธํ•  ๋•Œ ์ž๋ฐ” ๋ณ€์ˆ˜๋ช…๊ณผ ๋ชฝ๊ณ ๋””๋น„ ํ•„๋“œ๋ช…์„ ๋งตํ•‘ํ•ด ์ค„ ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

 

 

์ฒ˜์Œ์—๋Š” ์–ด์ฐจํ”ผ ์กฐํšŒ ๊ฒฐ๊ณผ๊ฐ€ JSON ํ˜•์‹์œผ๋กœ ๋„˜์–ด์˜ฌํ…Œ๋‹ˆ ๊ทธ๋ƒฅ jackson ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ @JsonProperty ์–ด๋…ธํ…Œ์ด์…˜์„ ์จ์„œ ๋ฐ›์•„์ฃผ๋ฉด ๋˜์ง€ ์•Š์„๊นŒ ์ƒ๊ฐํ–ˆ์—ˆ๋‹ค. 

๊ทธ๋ž˜์„œ ๋„ํ๋จผํŠธ ํŒŒ์ผ์„ ๋Œ€์ถฉ ์•„๋ž˜์™€ ๊ฐ™์ด ๋งŒ๋“ค์–ด์คฌ๊ณ , GET API๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋‚ ๋ ค๋ดค๋‹ค.

 

 

 

 

๊ทธ๋Ÿฌ๋‹ˆ๊นŒ ๋”ฑํžˆ ์˜ค๋ฅ˜๋Š” ์—†์ง€๋งŒ ๋ฆฌํ„ด๊ฐ’์—์„œ JsonProperty๋ฅผ ๋จน์—ฌ์ค€ ๋†ˆ๋“ค๋งŒ null๊ฐ’์œผ๋กœ ๋“ค์–ด์™”๋‹ค.

 

 

 

 

๋‚˜๋จธ์ง€ ๊ฐ’๋“ค์€ ์ž˜ ๋“ค์–ด์˜ค๋Š” ๊ฒƒ์œผ๋กœ ๋ด์„œ DB ์ ‘์†์ด๋‚˜ ์ฟผ๋ฆฌ ์˜ค๋ฅ˜๋Š” ์•„๋‹ˆ๊ณ , ์Šค๋„ค์ดํฌ์ผ€์ด์Šค ์ด๋ฆ„์„ ์ธ์‹์„ ๋ชปํ•ด์„œ ์ƒ๊ธด ์˜ค๋ฅ˜๊ฒ ๋‹ค ์‹ถ์—ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋„ค์ด๋ฐ ๋ฐฉ์‹๊นŒ์ง€ ์Šค๋„ค์ดํฌ์ผ€์ด์Šค๋ผ๊ณ  ์ง€์ •ํ•ด์คฌ๋Š”๋ฐ๋„ ๊ณ„์† null๊ฐ’๋งŒ ๋ฑ‰์–ด๋ƒˆ๋‹ค.

 

์ฑ—์ง€ํ”ผํ‹ฐํ•œํ…Œ ๋ฌผ์–ด๋ณด๋‹ˆ๊นŒ ํ™”๋งŒ ๋‚ฌ๋‹ค.(RoomDocument ๋‚ด์šฉ์€ ๋ฌผ๋ก , ์กฐํšŒ๋ผ์•ผํ•˜๋Š” ๋ฐ์ดํ„ฐ์™€ ์กฐํšŒ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ๊นŒ์ง€ ๋‹ค ์คฌ๋Š”๋ฐ๋„ ์ €๋Ÿฐ๋‹ค.)

 

 

 

 

๊ตฌ๊ธ€๋ง์„ ํ•˜์ž๋งˆ์ž ์Šคํƒ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ์— ๋‚˜๊ฐ™์€ ๋ฐ”๋ณด๊ฐ€ ๋˜ ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

์–ด๋…ธํ…Œ์ด์…˜์„ @JsonProperty์—์„œ spring data mongodb์—์„œ ์ œ๊ณตํ•˜๋Š” @Field๋กœ ๋ฐ”๊พธ๋‹ˆ๊นŒ ๋ฐ”๋กœ ์ธ์‹์ด ๋œ๋‹ค.

 

 

 

 

 

๋ชฝ๊ณ ๋””๋น„๋ฅผ ์ฒ˜์Œ ์จ๋ณด๋‹ˆ๊นŒ ์ •๋ง ๋ณ„ ๊ฒƒ ์•„๋‹Œ ๊ฒƒ์—์„œ๋„ ์‚ฝ์งˆ์„ ํ–ˆ๋‹ค.

์ฑ—์ง€ํ”ผํ‹ฐ 3.x๋ณด๋‹ค๋Š” ์•„์ง ๊ตฌ๊ธ€์ด ๋” ํ›Œ๋ฅญํ•œ ๊ฒƒ ๊ฐ™๋‹ค.

 

 

 

 

(๋‚˜๊ฐ™์€ ๋ฐ”๋ณด)

https://stackoverflow.com/questions/69622469/jsonproperty-annotation-is-getting-ignored-in-mongodb-collection