๐ป..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๋ฒ ๋ฐฉ๋ฒ์ ์ด๋ฏธ ๋ธ๋ผ์ฐ์ ์ ์ฃผ์๊ฐ ๋ณ๊ฒฝ๋์๊ธฐ ๋๋ฌธ์ ์๋ฒ์ ๋ถ์์ฉ์ ์ผ์ผํค์ง ์๋๋ค. โ ๏ธ ๋ฌธ์ ์ํฉ โ ๏ธ .. ์ด์ 1 ๋ค์