์ด๋ฒ์๋ ํ์ ์๋น์ค์์ ๋ฐ์ํ ์ ์๋ ์์ธ๋ค์ MemberException์ผ๋ก ๋ชจ์, ๊ณตํต์ผ๋ก ์์ธ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๋๋ก ํ๊ฒ ์ต๋๋ค. ์์ธ์ฒ๋ฆฌ๋ @ControllerAdvice๋ฅผ ํตํด, ํ๊ณณ์์ ์์ธ๋ฅผ ๊ด๋ฆฌํด์ฃผ๋๋ก ํ๊ฒ ์ต๋๋ค. ์ํ๋ฆฌํฐ๋ฅผ ์ด์ฉํ JSON ๋ฐ์ดํฐ๋ก ๋ก๊ทธ์ธ (์๋ฃ) JWT๋ฅผ ์ด์ฉํ ์ธ์ฆ (์๋ฃ) ๋๋ฉ์ธ, ํ
์ด๋ธ ์ค๊ณ, ์ํฐํฐ ์์ฑ (์๋ฃ) ๋๊ธ ์ญ์ ๋ก์ง ๊ตฌํ (์๋ฃ) ํ์๊ฐ์
+ ์ ๋ณด์์ ๋ฑ ํ์ ์๋น์ค ๊ตฌํ (์๋ฃ) ๊ฒ์ํ ์๋น์ค ๊ตฌํ ๋๊ธ ์๋น์ค ๊ตฌํ (1๋๊ธ -> *(๋ฌดํ) ๋๋๊ธ ๊ตฌ์กฐ) ์์ธ ์ฒ๋ฆฌ (์งํ ์ค) ์์ธ ๋ฉ์ธ์ง ๊ตญ์ ํ ์นดํ
๊ณ ๋ฆฌ๋ณ ๊ฒ์ํ ๋ถ๋ฅ ๊ฒ์๊ธ ํ์ด์ง ๋์ ์ธ ๊ฒ์ ์กฐ๊ฑด์ ์ฌ์ฉํ ๊ฒ์ ์ฌ์ฉ์ ๊ฐ ์ชฝ์ง ๊ธฐ๋ฅ ๋ฌดํ ์ชฝ์ง ์คํฌ๋กค ๊ฒ์๋ฌผ & ๋๊ธ์ ๋ํ ์๋ ์ชฝ์ง์ ๋ํ ์๋ ์ ์..
์ด์ ํ์ ์๋น์ค ๋ง์ง๋ง์
๋๋ค! ์ปจํธ๋กค๋ฌ๋ฅผ ๊ฐ๋ฐํ์ฌ, Http ์์ฒญ์ ๋ํด ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ ์ ์๋๋ก ์ปจํธ๋กค๋ฌ๋ฅผ ์์ฑํด ๋ณด๊ฒ ์ต๋๋ค. ์ํ๋ฆฌํฐ๋ฅผ ์ด์ฉํ JSON ๋ฐ์ดํฐ๋ก ๋ก๊ทธ์ธ (์๋ฃ) JWT๋ฅผ ์ด์ฉํ ์ธ์ฆ (์๋ฃ) ๋๋ฉ์ธ, ํ
์ด๋ธ ์ค๊ณ, ์ํฐํฐ ์์ฑ (์๋ฃ) ๋๊ธ ์ญ์ ๋ก์ง ๊ตฌํ (์๋ฃ) ํ์๊ฐ์
+ ์ ๋ณด์์ ๋ฑ ํ์ ์๋น์ค ๊ตฌํ (์งํ ์ค) ๊ฒ์ํ ์๋น์ค ๊ตฌํ ๋๊ธ ์๋น์ค ๊ตฌํ (1๋๊ธ -> *(๋ฌดํ) ๋๋๊ธ ๊ตฌ์กฐ) ์์ธ ์ฒ๋ฆฌ ์์ธ ๋ฉ์ธ์ง ๊ตญ์ ํ ์นดํ
๊ณ ๋ฆฌ๋ณ ๊ฒ์ํ ๋ถ๋ฅ ๊ฒ์๊ธ ํ์ด์ง ๋์ ์ธ ๊ฒ์ ์กฐ๊ฑด์ ์ฌ์ฉํ ๊ฒ์ ์ฌ์ฉ์ ๊ฐ ์ชฝ์ง ๊ธฐ๋ฅ ๋ฌดํ ์ชฝ์ง ์คํฌ๋กค ๊ฒ์๋ฌผ & ๋๊ธ์ ๋ํ ์๋ ์ชฝ์ง์ ๋ํ ์๋ ์ ์ํ ์ฌ์ฉ์ ๊ฐ ์ค์๊ฐ ์ฑํ
ํ์๊ฐ์
์ ๊ฒ์ฆ(์: XX๋ํ๊ต XX๊ณผ๊ฐ ์๋๋ฉด ๊ฐ์
ํ ์ ์๊ฒ) Swa..
์ํ๋ฆฌํฐ๋ฅผ ์ด์ฉํ JSON ๋ฐ์ดํฐ๋ก ๋ก๊ทธ์ธ (์๋ฃ) JWT๋ฅผ ์ด์ฉํ ์ธ์ฆ (์๋ฃ) ๋๋ฉ์ธ, ํ
์ด๋ธ ์ค๊ณ, ์ํฐํฐ ์์ฑ (์๋ฃ) ๋๊ธ ์ญ์ ๋ก์ง ๊ตฌํ (์๋ฃ) ํ์๊ฐ์
+ ์ ๋ณด์์ ๋ฑ ํ์ ์๋น์ค ๊ตฌํ (์งํ ์ค) ๊ฒ์ํ ์๋น์ค ๊ตฌํ ๋๊ธ ์๋น์ค ๊ตฌํ (1๋๊ธ -> *(๋ฌดํ) ๋๋๊ธ ๊ตฌ์กฐ) ์์ธ ์ฒ๋ฆฌ ์์ธ ๋ฉ์ธ์ง ๊ตญ์ ํ ์นดํ
๊ณ ๋ฆฌ๋ณ ๊ฒ์ํ ๋ถ๋ฅ ๊ฒ์๊ธ ํ์ด์ง ๋์ ์ธ ๊ฒ์ ์กฐ๊ฑด์ ์ฌ์ฉํ ๊ฒ์ ์ฌ์ฉ์ ๊ฐ ์ชฝ์ง ๊ธฐ๋ฅ ๋ฌดํ ์ชฝ์ง ์คํฌ๋กค ๊ฒ์๋ฌผ & ๋๊ธ์ ๋ํ ์๋ ์ชฝ์ง์ ๋ํ ์๋ ์ ์ํ ์ฌ์ฉ์ ๊ฐ ์ค์๊ฐ ์ฑํ
ํ์๊ฐ์
์ ๊ฒ์ฆ(์: XX๋ํ๊ต XX๊ณผ๊ฐ ์๋๋ฉด ๊ฐ์
ํ ์ ์๊ฒ) Swagger๋ฅผ ์ฌ์ฉํ API ๋ฌธ์ ๋ง๋ค๊ธฐ ์ ๊ณ & ๋ธ๋๋ฆฌ์คํธ ๊ธฐ๋ฅ AOP๋ฅผ ํตํ ๋ก๊ทธ ์ด๋๋ฏผ ํ์ด์ง ์บ์ ๋ฐฐํฌ (+ ๋ฌด์ค๋จ ๋ฐฐํฌ) ๋ฐฐํฌ ..
์ฌ์ค ์์์์ผ๋ก๋ ํ์ -> ๊ฒ์ํ -> ๋๊ธ ์์๋ก ๊ตฌํํ๋๊ฒ ๋ง์ผ๋, ์ ๊ฐ ๋๋ฌด ๋๊ธ์ ๊ตฌํํด๋ณด๊ณ ์ถ์ ๋ง์์ด ์ปค์ ๋๊ธ๋ถํฐ ๊ตฌํํ๋๋ก ํ๊ฒ ์ต๋๋ค. ๋ค๋ฅธ๊ฑฐ ๊ตฌํํ๊ณ ์ค์
์ ๋ด๋ ๊ด์ฐฎ์ต๋๋ค. ์ํ๋ฆฌํฐ๋ฅผ ์ด์ฉํ JSON ๋ฐ์ดํฐ๋ก ๋ก๊ทธ์ธ (์๋ฃ) JWT๋ฅผ ์ด์ฉํ ์ธ์ฆ (์๋ฃ) ๋๋ฉ์ธ, ํ
์ด๋ธ ์ค๊ณ, ์ํฐํฐ ์์ฑ (์๋ฃ) ๋๊ธ ์ญ์ ๋ก์ง ๊ตฌํ (์งํ ์ค) ํ์๊ฐ์
+ ์ ๋ณด์์ ๋ฑ ํ์ ์๋น์ค ๊ตฌํ ๊ฒ์ํ ์๋น์ค ๊ตฌํ ๋๊ธ ์๋น์ค ๊ตฌํ (1๋๊ธ -> *(๋ฌดํ) ๋๋๊ธ ๊ตฌ์กฐ) ์์ธ ์ฒ๋ฆฌ ์์ธ ๋ฉ์ธ์ง ๊ตญ์ ํ ์นดํ
๊ณ ๋ฆฌ๋ณ ๊ฒ์ํ ๋ถ๋ฅ ๊ฒ์๊ธ ํ์ด์ง ๋์ ์ธ ๊ฒ์ ์กฐ๊ฑด์ ์ฌ์ฉํ ๊ฒ์ ์ฌ์ฉ์ ๊ฐ ์ชฝ์ง ๊ธฐ๋ฅ ๋ฌดํ ์ชฝ์ง ์คํฌ๋กค ๊ฒ์๋ฌผ & ๋๊ธ์ ๋ํ ์๋ ์ชฝ์ง์ ๋ํ ์๋ ์ ์ํ ์ฌ์ฉ์ ๊ฐ ์ค์๊ฐ ์ฑํ
ํ์๊ฐ์
์ ๊ฒ์ฆ(์:..
ํ์๊ฐ์
์, ๋๋ฉ์ธ ์ค๊ณ๊ฐ ๋๋๊ณ ์ดํ ํ์ ์๋น์ค๋ฅผ ๊ตฌํํ ๋ ๊ตฌํํ๋๋ก ํ๊ฒ ์ต๋๋ค! ์ํ๋ฆฌํฐ๋ฅผ ์ด์ฉํ JSON ๋ฐ์ดํฐ๋ก ๋ก๊ทธ์ธ (์๋ฃ) JWT๋ฅผ ์ด์ฉํ ์ธ์ฆ (์๋ฃ) ๋๋ฉ์ธ, ํ
์ด๋ธ ์ค๊ณ, ์ํฐํฐ ์์ฑ (์งํ ์ค) ๋๊ธ ์ญ์ ๋ก์ง ๊ตฌํ ํ์๊ฐ์
+ ์ ๋ณด์์ ๋ฑ ํ์ ์๋น์ค ๊ตฌํ ๊ฒ์ํ ์๋น์ค ๊ตฌํ ๋๊ธ ์๋น์ค ๊ตฌํ (1๋๊ธ -> *(๋ฌดํ) ๋๋๊ธ ๊ตฌ์กฐ) ์์ธ ์ฒ๋ฆฌ ์์ธ ๋ฉ์ธ์ง ๊ตญ์ ํ ์นดํ
๊ณ ๋ฆฌ๋ณ ๊ฒ์ํ ๋ถ๋ฅ ๊ฒ์๊ธ ํ์ด์ง ๋์ ์ธ ๊ฒ์ ์กฐ๊ฑด์ ์ฌ์ฉํ ๊ฒ์ ์ฌ์ฉ์ ๊ฐ ์ชฝ์ง ๊ธฐ๋ฅ ๋ฌดํ ์ชฝ์ง ์คํฌ๋กค ๊ฒ์๋ฌผ & ๋๊ธ์ ๋ํ ์๋ ์ชฝ์ง์ ๋ํ ์๋ ์ ์ํ ์ฌ์ฉ์ ๊ฐ ์ค์๊ฐ ์ฑํ
ํ์๊ฐ์
์ ๊ฒ์ฆ(์: XX๋ํ๊ต XX๊ณผ๊ฐ ์๋๋ฉด ๊ฐ์
ํ ์ ์๊ฒ) Swagger๋ฅผ ์ฌ์ฉํ API ๋ฌธ์ ๋ง๋ค๊ธฐ ์ ๊ณ & ๋ธ๋๋ฆฌ์คํธ ๊ธฐ๋ฅ ..
์ด์ ์ด์ ์ ์์ฑํ JwtService๋ฅผ ๊ฐ์ง๊ณ ๋ก๊ทธ์ธ ํ JWT๋ฅผ ๋ฐ๊ธํ๋ ์ฝ๋๋ฅผ ์์ฑํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ์ดํ JWT๋ง์ผ๋ก ์ธ์ฆ์ ํ๋ ์ฝ๋๋ ์์ฑํ๋๋ก ํ๊ฒ ์ต๋๋ค. ์ํ๋ฆฌํฐ๋ฅผ ์ด์ฉํ JSON ๋ฐ์ดํฐ๋ก ๋ก๊ทธ์ธ (์๋ฃ) JWT๋ฅผ ์ด์ฉํ ์ธ์ฆ (์งํ ์ค) ๋๋ฉ์ธ, ํ
์ด๋ธ ์ค๊ณ, ์ํฐํฐ ์์ฑ ๋๊ธ ์ญ์ ๋ก์ง ๊ตฌํ ํ์๊ฐ์
+ ์ ๋ณด์์ ๋ฑ ํ์ ์๋น์ค ๊ตฌํ ๊ฒ์ํ ์๋น์ค ๊ตฌํ ๋๊ธ ์๋น์ค ๊ตฌํ (1๋๊ธ -> *(๋ฌดํ) ๋๋๊ธ ๊ตฌ์กฐ) ์์ธ ์ฒ๋ฆฌ ์์ธ ๋ฉ์ธ์ง ๊ตญ์ ํ ์นดํ
๊ณ ๋ฆฌ๋ณ ๊ฒ์ํ ๋ถ๋ฅ ๊ฒ์๊ธ ํ์ด์ง ๋์ ์ธ ๊ฒ์ ์กฐ๊ฑด์ ์ฌ์ฉํ ๊ฒ์ ์ฌ์ฉ์ ๊ฐ ์ชฝ์ง ๊ธฐ๋ฅ ๋ฌดํ ์ชฝ์ง ์คํฌ๋กค ๊ฒ์๋ฌผ & ๋๊ธ์ ๋ํ ์๋ ์ชฝ์ง์ ๋ํ ์๋ ์ ์ํ ์ฌ์ฉ์ ๊ฐ ์ค์๊ฐ ์ฑํ
ํ์๊ฐ์
์ ๊ฒ์ฆ(์: XX๋ํ๊ต XX๊ณผ๊ฐ ์๋๋ฉด ๊ฐ์
ํ ์ ์..
์ด์ ๋ก๊ทธ์ธ๊น์ง ๊ตฌํ์ด ๋๋ฌ์ผ๋ ๋ก๊ทธ์ธ์ด ์ฑ๊ณตํ๋ฉด JWT๋ฅผ ๋ฐ๊ธํ์ฌ์ AccessToken๊ณผ RefreshToken์ ๊ฐ์ง๊ณ ๋ก๊ทธ์ธ ์์ด ์ธ์ฆ์ ์ฒ๋ฆฌํ๋ ์ฝ๋๋ฅผ ์์ฑํ๊ฒ ์ต๋๋ค. ์ํ๋ฆฌํฐ๋ฅผ ์ด์ฉํ JSON ๋ฐ์ดํฐ๋ก ๋ก๊ทธ์ธ (์๋ฃ) JWT๋ฅผ ์ด์ฉํ ์ธ์ฆ (์งํ ์ค) ๋๋ฉ์ธ, ํ
์ด๋ธ ์ค๊ณ, ์ํฐํฐ ์์ฑ ๋๊ธ ์ญ์ ๋ก์ง ๊ตฌํ ํ์๊ฐ์
+ ์ ๋ณด์์ ๋ฑ ํ์ ์๋น์ค ๊ตฌํ ๊ฒ์ํ ์๋น์ค ๊ตฌํ ๋๊ธ ์๋น์ค ๊ตฌํ (1๋๊ธ -> *(๋ฌดํ) ๋๋๊ธ ๊ตฌ์กฐ) ์์ธ ์ฒ๋ฆฌ ์์ธ ๋ฉ์ธ์ง ๊ตญ์ ํ ์นดํ
๊ณ ๋ฆฌ๋ณ ๊ฒ์ํ ๋ถ๋ฅ ๊ฒ์๊ธ ํ์ด์ง ๋์ ์ธ ๊ฒ์ ์กฐ๊ฑด์ ์ฌ์ฉํ ๊ฒ์ ์ฌ์ฉ์ ๊ฐ ์ชฝ์ง ๊ธฐ๋ฅ ๋ฌดํ ์ชฝ์ง ์คํฌ๋กค ๊ฒ์๋ฌผ & ๋๊ธ์ ๋ํ ์๋ ์ชฝ์ง์ ๋ํ ์๋ ์ ์ํ ์ฌ์ฉ์ ๊ฐ ์ค์๊ฐ ์ฑํ
ํ์๊ฐ์
์ ๊ฒ์ฆ(์: XX๋ํ๊ต XX๊ณผ๊ฐ ์๋๋ฉด ๊ฐ์
ํ ..
์ด๋ฒ์๋ ์ ๋ฒ ํฌ์คํ
์ ์ด์ด์ ์ํ๋ฆฌํฐ ํํฐ๋ฅผ ์ปค์คํ
ํ์ฌ ๋ก๊ทธ์ธ์ ์งํํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ์ํ๋ฆฌํฐ๋ฅผ ์ด์ฉํ JSON ๋ฐ์ดํฐ๋ก ๋ก๊ทธ์ธ (์งํ ์ค) JWT๋ฅผ ์ด์ฉํ ์ธ์ฆ ๋๋ฉ์ธ, ํ
์ด๋ธ ์ค๊ณ, ์ํฐํฐ ์์ฑ ๋๊ธ ์ญ์ ๋ก์ง ๊ตฌํ ํ์๊ฐ์
+ ์ ๋ณด์์ ๋ฑ ํ์ ์๋น์ค ๊ตฌํ ๊ฒ์ํ ์๋น์ค ๊ตฌํ ๋๊ธ ์๋น์ค ๊ตฌํ (1๋๊ธ -> *(๋ฌดํ) ๋๋๊ธ ๊ตฌ์กฐ) ์์ธ ์ฒ๋ฆฌ ์์ธ ๋ฉ์ธ์ง ๊ตญ์ ํ ์นดํ
๊ณ ๋ฆฌ๋ณ ๊ฒ์ํ ๋ถ๋ฅ ๊ฒ์๊ธ ํ์ด์ง ๋์ ์ธ ๊ฒ์ ์กฐ๊ฑด์ ์ฌ์ฉํ ๊ฒ์ ์ฌ์ฉ์ ๊ฐ ์ชฝ์ง ๊ธฐ๋ฅ ๋ฌดํ ์ชฝ์ง ์คํฌ๋กค ๊ฒ์๋ฌผ & ๋๊ธ์ ๋ํ ์๋ ์ชฝ์ง์ ๋ํ ์๋ ์ ์ํ ์ฌ์ฉ์ ๊ฐ ์ค์๊ฐ ์ฑํ
ํ์๊ฐ์
์ ๊ฒ์ฆ(์: XX๋ํ๊ต XX๊ณผ๊ฐ ์๋๋ฉด ๊ฐ์
ํ ์ ์๊ฒ) Swagger๋ฅผ ์ฌ์ฉํ API ๋ฌธ์ ๋ง๋ค๊ธฐ ์ ๊ณ & ๋ธ๋๋ฆฌ์คํธ ๊ธฐ๋ฅ AOP๋ฅผ ํตํ ..