Exception ์ ์ธ์ ๋ด์ผ ํ ๊น?
์๋๋ ๋์ ์๋ ์ฝ๋.
public static boolean isAxx(String code) {
if(code == null) {
throw new Excpetion("code is null");
}
return code.startsWits("A");
}
๊ฐ๋จํ ์ ํธ์ฑ ๋ฉ์๋์์ ํ๋ผ๋ฏธํฐ๋ก null์ด ๋ค์ด์ค๋ ๊ฒฝ์ฐ์ ๋ณ๋๋ก ์ต์ ์ ์ ๋ด์ฃผ์๋ค๊ฐ, ์ฌ์๋์ด null์ด๋ฉด Emtpy ๊ฐ์ฒด๋ผ๋๊ฐ, false ๋ฅผ ๋ฐํํ๊ฒ ํ๋ผ๊ณ ์ฝ๋ฉํธ๋ฅผ ๋ฌ์์ฃผ์ จ๋ค.
์ด๋ฅผ ๋ณด๊ณ ํ์ฐธ ๊ณ ๋ฏผํ๋๋ฐ, ๊ทธ ์ด์ ๋โฆ ์ด ๋ก์ง์ ์ฌ์ฉํ ๊ฐ๋ฐ์๋ค๋, ์ด ํ๋ผ๋ฏธํฐ๊ฐ null์ด๋ฉด ์๋๋ค๋ ๊ฑธ ๋ฐ๋์ โ์์์ผ ํ๋คโ๊ณ ์๊ฐํ์ด์ ์๋ค. ์ ์ด์ null์ด ๋ค์ด์ค๋ฉด ์ ๋ง ์ด์ํ ๋ก์ง์ด์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ฐ๋ น status code๊ฐ null๋ก ์ค๋ ๋๋์ด๋ค.
๊ทธ๋์ ์ฌ์๋๊ป ์ฌ์ญ์ด๋ดค๋๋ฐ, ์กฐ๊ธ ๋ ๋ณต์กํ๊ณ ๊ธด ๋ก์ง์์๋ Exception์ ๋ด์ฃผ๋ ๊ฒ ๋ง๊ฒ ์ง๋ง, ์ด๋ฐ ์งง๊ณ ๋จ์ํ ์ ํธ์ฑ ํด๋์ค์์๋ (1) Exception ์ด ๋ฐ์ํ๋ ๊ฒ ๋ ๋น์ฉ์ด ๋ง์ด ๋ค ๊ฒ ๊ฐ๊ณ (2) ๋ฉ์๋์ ๋ชฉ์ ์์ฒด๊ฐ Axx ์ธ์ง ํ๋ณํ๋ ๊ฑฐ๊ณ , null์ด ๋ค์ด์๋ค๊ณ ํด์ Axx์ธ ๊ฑด ์๋๋ false๋ก ๋ฆฌํดํด๋ ๋ ๊ฒ ๊ฐ๋ค๊ณ ๋ต๋ณ ์ฃผ์ จ๋ค.
์ฝ๋ ํ ์ค ํ ์ค์ ๋ด๊ฐ ์ ๊ทธ๋ ๊ฒ ์งฐ๋์ง ๋ช ํํ๊ณ ํฉ๋ฆฌ์ ์ธ ์ด์ ๊ฐ ์์ด์ผ ํ๋ ๋ฏ ํ๋ค. ์ด๋ฏธ โ์ด๊ฑด ์ ์ด๋ ๊ฒ ์งฐ์ด์?โ ๋ผ๋ ์ง๋ฌธ์ ์๋ ์์ด ๋ฐ์์ง๋งโฆ ๊ทธ๋๋ ์ด์ ๋ ์กฐ๊ธ ๋ ์๊ฐ์ ํ๋ฉด์ ์งค ์ ์๊ฒ ์ง! ๋ชฐ๋ผ๋ ๋๋ ์ ๋ณด์ธ์ง ์๋์ง ๋ฑ๋ฑ, ๊ฒฝํ๊ณผ ๊ฐ๊ฐ์ด ๋ฐํ๋๋ ๋ถ๋ถ(?)์ ๋ญ๊ฐ ๋ฒ์ ํ๊ธฐ๊ฐ ํ๋ ๋๋์ด๋ค
Spring Security
๊ณง ์ธ์ฆ ์๋ฒ๋ฅผ ๋ง๋ค ์์ ์ด์ด์, ์คํ๋ง ์ํ๋ฆฌํฐ์์ OAuth 2.0 ์ด ๋์ํ๋ ๋ฐฉ๋ฒ์ ๋ค์ฌ๋ค๋ณด์๋ค. ์ด์ ์ ํ ๋ฒ ๊ณต๋ถ๋ฅผ ํ๊ธด ํ์๋๋ฐ, ์ง์ ๋ง๋ค์ด๋ณด์ง ์๋ ์ด์ ๋จธ๋ฆฟ์์ ์ ๋ค์ด์ค์ง ์์ ๊ฒ ๊ฐ๋ค. ์ธ์ฆ ๋ชจ๋์ ํ ๋ฒ ๋ง๋ค์ด๋ณด๋ ค๊ณ ๋ค๋ฅธ ํ์ ์์ ์ฐ๋ ์ธ์ฆ ๋ชจ๋ pom ํ์ผ์ ์ด์ด๋ณด์๋๋ฐ, parent ๋ค์์ ๋ฐ์์ค๋ ๊ตฌ์กฐ์ด๋ค๋ณด๋ ๋ณผ ๋งํ๊ฒ ๋ง์ง๋ ์์๋ค.
pom ํ์ผ ํ๋๊น ์๊ฐ๋๊ฑด๋ฐ, ๋ช๋ช ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉํ๋ ์ ์ฉํ ์ ํธ๋ฆฌํฐ์ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด ์๋ค๋ ๊ฑธ ๋ฐฐ์ ์๊ณ ,
๊ธฐ์ต์ ๋จ๋ ๊ฑด guava๋ apache common ์ด๋๊ฐ? ์ ๋๊ฐ ์์ ๋ฏ ์ถ๋ค. ํนํ apache common์ ๋ค๋ค ๊ธฐ๋ณธ์ผ๋ก ๋ค๊ณ ๊ฐ๋ ๋ฏโฆ
์๋ฌดํผ ์ธ์ฆ ์๋ฒ๊ฐ ํ๋ ์ผ์ ํต์ JWT ํ ํฐ ๋ฐ๊ธ์ ํด์ฃผ๋๋ฐ, ๊ทธ๊ฒ ๋ด๋ถ์ ์ผ๋ก grant type์ด ๋๋์ด์
client credential ์ด๋ฉด ์ด๋ฐ ์ธ์ฆ ์ ๋ณด๋ฅผ ๋ฐ๊ณ , password๋ฉด ์ ๋ฐ ์ธ์ฆ ์ ๋ณด๋ฅผ ๋ฐ๊ณ ํ๋ ์์ด๋ค.
OAuth 2.0 ์ด์ผ๊ธฐ๊ฐ ๋์จ ๊ฑด, OAuth 2.0์ด โ์ธ์ฆ ๋ฐฉ์โ์ธ๋ฐ, ์นด์นด์ค OAuth 2.0์ ์ฐ๋ฉด ์นด์นด์ค ์ธ์ฆ์๋ฒ์์ ์ ๊ณตํ๋ redirect uri ๋ฅผ ํ๊ณ ์ ์ ๊ฐ ๊ฑฐ๊ธฐ์ ํจ์ค์๋๋ฅผ ์
๋ ฅํ ํ, ์ธ์ฆ์๋ฒ๋ ์ธ์ฆ์ ํด์ฃผ๊ณ ํด๋ผ์ด์ธํธ์๊ฒ ํ ํฐ์ ์ฃผ๋ ๋ฐฉ์!
์ง์ ์ ์ด๋ณด๋ค๋ณด๋๊น ๊ต์ฅํ ํท๊ฐ๋ฆฌ๋๊ตฐโฆ