๐ค ๋ฌธ์ ๋ฅผ ๊ฒช๊ฒ ๋ ์ด์ ๐ค
์ฑ '์คํ๋ง ์ ๋ฌธ์ ์ํ ์๋ฐ ๊ฐ์ฒด์งํฅ์ ์๋ฆฌ์ ์ดํด'๋ฅผ ์ฐ์ ๋ถ๊ป์ ๋ถ๋ก ๋ถ๋ถ์ ์๋ ์ปจํธ๋กค๋ฌ์์ POST ์์ฒญ์ ์ฒ๋ฆฌํ ํ redirect ํ๋ ๊ฒ๊ณผ ๋ทฐ ํํธ๋ง ์ ๊ณตํ๋ ๊ฒ์ ์ฐจ์ด์ ๋ํด ์๋ํด๋ณด๋ผ๊ณ ํ์ จ๋ค.
๊ทธ๋์ ๋ด ํ๋ก์ ํธ์ ์ค์ ๋ก ์๋ํด๋ณด๊ธฐ๋ก ํ๋ค.
1. "/url" ๋ก ๋ฆฌํดํ๋ฉด ํ๋ฉด์ ์ ํ๋๋ ๋ธ๋ผ์ฐ์ ์ฃผ์๋ ๊ณ์ํด์ ์ด์ url์ ๊ฐ๋ฅดํค๊ณ ์์๋ค.
2. "redirect:/url"๋ก ๋ฐํํ๋๋ ํ๋ฉด์ด ์ ํ๋๋ฉด์ ๋ธ๋ผ์ฐ์ ์ฃผ์๋ ํจ๊ป ๋ณ๊ฒฝ๋์๋ค.
1๋ฒ ๋ฐฉ๋ฒ์ ๋ธ๋ผ์ฐ์ ์ฃผ์๊ฐ ๋ณ๊ฒฝ๋์ง ์์ผ๋ฏ๋ก ํ๋ฉด์ ์๋ก๊ณ ์นจํ ๋๋ง๋ค POST์์ฒญ์ด ๋ ๋ผ๊ฐ ์ํ์ด ์กด์ฌํ๋ค.
2๋ฒ ๋ฐฉ๋ฒ์ ์ด๋ฏธ ๋ธ๋ผ์ฐ์ ์ ์ฃผ์๊ฐ ๋ณ๊ฒฝ๋์๊ธฐ ๋๋ฌธ์ ์๋ฒ์ ๋ถ์์ฉ์ ์ผ์ผํค์ง ์๋๋ค.
โ ๏ธ ๋ฌธ์ ์ํฉ โ ๏ธ
์์์ ์๋ํ๋ ์ปจํธ๋กค๋ฌ ๋ง๊ณ ๋ ๋ค๋ฅธ POST ์ปจํธ๋กค๋ฌ์ ๋ค์ PRG ํจํด์ ์๋ํด๋ดค๋ค.
ํ์ง๋ง ์ด๋ฒ์ "/redirect:/url"์ ํด๋ redirect ๋์ง ์๊ณ ์์ฒญ ์ํ ํ ResponseBody์ url์ html ์ฝ๋๋ฅผ ์ค์ด์ ๋ณด๋๋ค.
์ฌ๋ฌ ๋ฐฉ๋ฒ์ ์๋ํ์ง๋ง ์ค๋ฅ๋ ์ํ๋ ๊ฒฐ๊ณผ๊ฐ ๋์ค์ง ์์๋ค.
๊ทธ๋ฌ๋ค ajax์ธก ์๋ต์์ window.redirect๋ฅผ ํ๋๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์๋ค.
๐ก ๋ฌธ์ ํด๊ฒฐ ๐ก
ajax์ redirect๋ฅผ ํค์๋๋ก ๊ฒ์์ ํ๋๋ ํด๋น ๋ฌธ์ ์ ๋ํ ๋ต๋ณ์ด ์์๋ค...
stackoverflow.com/questions/36840104/spring-mvc-redirect-in-responsebody
PRG ํจํด?
์น ๊ฐ๋ฐ ์ ๊ถ์ฅ๋๋ ๋์์ธ ํจํด ์ค ํ๋์ด๋ฉฐ POST ์์ฒญ์ ๋ํ ์๋ต์ด ๋ ๋ค๋ฅธ URL๋ก์ GET ์์ฒญ์ ์ํ ๋ฆฌ๋ค์ด๋ ํธ๊ฐ ๋์ด์ผ ํ๋ค๋ ๊ฒ
PRG ํจํด์ ์ฌ์ฉํ์ง ์์ ์ ๋ฌธ์ ์
1. ์๋ก๊ณ ์นจ์ผ๋ก ์ธํด ๋์ผํ POST ์์ฒญ์ด ์ค๋ณต์ผ๋ก ๋ฐ์ํ์ฌ ์๋์น ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ณ์ ์ ์๋ค.
ex) ์ค๋ณต ๊ฒฐ์ , ์ค๋ณต ์ถ๊ธ
2. POST์์ฒญ์ ๊ฒฐ๊ณผ์ ํด๋นํ๋ ํ์ด์ง๋ฅผ ๋ถ๋งํฌํ๊ฑฐ๋ ๊ณต์ ํ๋ ๊ฒ์ด ์ด๋ ค์์ง๋ค. (URL์ด ๋ฐ๋์ง ์์ผ๋ฏ๋ก)
** PRG ํจํด์ ์ฌ์ฉํ์ง ์์ ๋ **
** PRG ํจํด์ ์ฌ์ฉํ ๋ **
'๐ป..Tech..๐ป > ๐Spring ๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Spring์ Jackson Custom Serialization ์ ์ฉ (0) | 2022.07.06 |
---|