๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ป..Tech..๐Ÿ’ป/๐ŸƒSpring ๐Ÿƒ

(2)
Spring์— Jackson Custom Serialization ์ ์šฉ ์Šคํ”„๋ง๋ถ€ํŠธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Jackson๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ด ์ž๋ฐ” ๊ธฐ๋ณธ ์ปฌ๋ ‰์…˜ ๊ฐ์ฒด๋“ค์„ Json์œผ๋กœ Serialize๋ฅผ ์ง„ํ–‰ํ•ด์ค€๋‹ค. ํ•˜์ง€๋งŒ, ๊ธฐ์กด ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ์— ์žˆ๋˜ ์‚ฌ์šฉ์ž ์ •์˜๊ฐ์ฒด๋ฅผ jsonํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•  ์ผ์ด ์ƒ๊ธฐ๋ฉด์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ •์˜๊ฐ์ฒด๋ฅผ ์–ด๋–ป๊ฒŒ Serializeํ•ด์•ผํ• ์ง€ ์ •์˜๋˜์–ด ์žˆ์ง€ ์•Š์•„์„œ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ์˜€๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด serializtion์„ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•ด์„œ objectMapper์— ์ถ”๊ฐ€ํ•˜๊ณ  ์ด๋ฅผ ์Šคํ”„๋ง์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋นˆ ๋“ฑ๋กํ•ด์ฃผ๋Š” ๊ณผ์ •์„ ์ง„ํ–‰ํ–ˆ๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ๋Š” HashMap์„ ์ƒ์†๋ฐ›์€ ์‚ฌ์šฉ์ž์ •์˜ DataSet๊ฐ์ฒด๋ฅผ ์ง๋ ฌํ™”ํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. writeObject()๋ฅผ ํ†ตํ•ด ์žฌ๊ท€์ ์œผ๋กœ ๊ด€๋ จ๋œ ์ง๋ ฌํ™”๋ฅผ ์ง„ํ–‰ํ•˜์—ฌ json ๋ฌธ์ž์—ด์„ ๋งŒ๋“ค์–ด ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ๋œ๋‹ค. public class DataSe..
[์˜ค๋ฅ˜] PRG(Post-Redirect-Get) ํŒจํ„ด ์ ์šฉ ์˜ค๋ฅ˜ ๐Ÿค” ๋ฌธ์ œ๋ฅผ ๊ฒช๊ฒŒ ๋œ ์ด์œ  ๐Ÿค” ์ฑ… '์Šคํ”„๋ง ์ž…๋ฌธ์„ ์œ„ํ•œ ์ž๋ฐ” ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์›๋ฆฌ์™€ ์ดํ•ด'๋ฅผ ์“ฐ์‹  ๋ถ„๊ป˜์„œ ๋ถ€๋ก ๋ถ€๋ถ„์— ์žˆ๋Š” ์ปจํŠธ๋กค๋Ÿฌ์—์„œ POST ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•œ ํ›„ redirect ํ•˜๋Š” ๊ฒƒ๊ณผ ๋ทฐ ํžŒํŠธ๋งŒ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์‹œ๋„ํ•ด๋ณด๋ผ๊ณ  ํ•˜์…จ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚ด ํ”„๋กœ์ ํŠธ์— ์‹ค์ œ๋กœ ์‹œ๋„ํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. 1. "/url" ๋กœ ๋ฆฌํ„ดํ•˜๋ฉด ํ™”๋ฉด์€ ์ „ํ™˜๋˜๋‚˜ ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ๋Š” ๊ณ„์†ํ•ด์„œ ์ด์ „ url์„ ๊ฐ€๋ฅดํ‚ค๊ณ  ์žˆ์—ˆ๋‹ค. 2. "redirect:/url"๋กœ ๋ฐ˜ํ™˜ํ–ˆ๋”๋‹ˆ ํ™”๋ฉด์ด ์ „ํ™˜๋˜๋ฉด์„œ ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ๋„ ํ•จ๊ป˜ ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค. 1๋ฒˆ ๋ฐฉ๋ฒ•์€ ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ํ™”๋ฉด์„ ์ƒˆ๋กœ๊ณ ์นจํ•  ๋•Œ๋งˆ๋‹ค POST์š”์ฒญ์ด ๋‚ ๋ผ๊ฐˆ ์œ„ํ—˜์ด ์กด์žฌํ•œ๋‹ค. 2๋ฒˆ ๋ฐฉ๋ฒ•์€ ์ด๋ฏธ ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์— ๋ถ€์ž‘์šฉ์„ ์ผ์œผํ‚ค์ง€ ์•Š๋Š”๋‹ค. โš ๏ธ ๋ฌธ์ œ ์ƒํ™ฉ โš ๏ธ ..

๋ฐ˜์‘ํ˜•