๐ ๊ธ๋ 6๊ธฐ ํฌ์คํ
1. ๋ฏธ์น๋๋ก ๋์ ๋ 7์์ ํ๊ณ
2. ์ฌ์ฉ์๊ฐ ๊ฒ์๋ฌผ์ ์์ฑํ ๋์ ํธ๋์ญ์ ์ฒ๋ฆฌ
3. Spring AOP - (1) ํ๋ก์ ํจํด, ๋ฐ์ฝ๋ ์ดํฐ ํจํด
4. [MySQL] - ํธ๋์ญ์ ์ ๊ฒฉ๋ฆฌ ์์ค(Isolation level)
5. Spring AOP - (2) AOP ๊ฐ๋ ๋ฐ ์ค์ต
6. ์ธํ ๋ฆฌ์ ์ด(IntelliJ) - ๋๋ฒ๊น (Debugging) ํ๊ธฐ
7. [Java, ๋์์ธํจํด] - ์ฑ๊ธํด ํจํด(Singleton Pattern)
8. ์๊ฐ ์ฝ๋๋ฆฌ๋ทฐ Ver_0.1: ์ปค๋ฆฌ์ด ์ฑ์ฅ CODE ์ธ๋ฏธ๋ ์ ๋ฆฌ
9. ํฌ์คํธ๋งจ(API ํ ์คํธ) ํ์ฉํ๊ธฐ
๐ ํฌ์คํธ๋งจ ํ์ฉํ๊ธฐ
์๋ ํ์ธ์, ์ด๋ฒ ์๊ฐ์๋ ํฌ์คํธ๋งจ์์ ์ ๊ณตํ๋ ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ ๋ ๊ทธ๋์ ํฌ์คํธ๋งจ์ API๋ฅผ ํ ์คํธํ๋ ์ฉ๋๋ก๋ง ์ฌ์ฉํ์์ต๋๋ค. ํ์ง๋ง ์ด ์ธ์๋ API ์ ๋ณด๋ฅผ ๊ณต์ ํ๊ฑฐ๋ ๋ณ์๋ฅผ ์ค์ ํ๊ณ , ํ๊ฒฝ๋ณ๋ก ๋ถ๋ฆฌํ๋ ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ๋ค์ ํฌํจํ๊ณ ์๋๋ฐ์, ์ด๋ฅผ ํ์ฉํ๋ฉด ์ข ๋ ๋ค๋ฐฉ๋ฉด์ผ๋ก ํฌ์คํธ๋งจ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํฌ์คํธ๋งจ์ ๋ํด ๋จผ์ ๋ง์๋๋ฆฌ์๋ฉด, ๊ณต์ ๋ฌธ์์๋ ์๋์ ๊ฐ์ด ์ค๋ช ํ๊ณ ์์ต๋๋ค.
Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster.
์์ฝํด๋ณด์๋ฉด, API๋ฅผ ํ ์คํธํ ์ ์๋ ์ํํธ์จ์ด๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
ํฌ์คํธ๋งจ์ ์ค์นํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด์๋ ์๋ ํฌ์คํ ์ ์ฐธ๊ณ ํด์ฃผ์ธ์ ~
์ด๋ฒ ํฌ์คํ ์์๋ ํฌ์คํธ๋งจ์์ API ์ ๋ณด๋ฅผ ๊ณต์ ํ๊ณ , ๋ณ์ ๋ฐ ํ๊ฒฝ๋ณ๋ก ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๐ ๋ฐฐ๊ฒฝ
์ด๋ฒ ํฌ์คํ ์ ์์ฑํ๊ฒ ๋ ๊ณ๊ธฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํ์์ ๊ฐ๋ฐ์ ์งํํ๋ฉด์ ๋ก์ปฌ์์๋ง ๊ฐ๋ฐํ๊ณ , ํ ์คํธ๋ฅผ ํ๋ฉด ์๊ด์์ง๋ง ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ๋ก์ปฌ ํ๊ฒฝ, ์์ฉ ํ๊ฒฝ ๋ฑ ๋ค์ํ ํ๊ฒฝ์์ ํ ์คํธ๋ฅผ ํ๊ธฐ ์ํด์๋ ๊ฐ ํ๊ฒฝ์ ๋ฐ๋ผ API๋ฅผ ๋ง๋ค๊ณ , ํ ์คํธ๋ฅผ ์งํํด์ผ ํฉ๋๋ค.
์ด๋ฌ๋ฉด ํ ์คํธ๋ฅผ ํ ๋ ๋ง๋ค URI์ Request, ๊ธฐํ ์ ๋ณด(ํ ํฐ ๋ฑ) ๋ฑ์ ๋ณ๋๋ก ๋ง๋ค์ด ์ฃผ์ด์ผ ํฉ๋๋ค. ์๋์ ๊ฐ์ด ๋ง์ด์ฃ ..
์์ ๊ฐ์๋ ํ ๊ฐ์ API๋ฅผ ํ ์คํธํ๊ธฐ ์ํด์ ๊ฐ ํ๊ฒฝ๋ณ๋ก ์ด 3๊ฐ์ API๋ฅผ ๋ง๋ค์ด์ ํ ์คํธ๋ฅผ ์งํํด์ผ ํฉ๋๋ค.
API๊ฐ ์ผ๋ง ๋์ง์๋๋ค๋ฉด ๋ฒ๊ฑฐ๋กญ๊ธด ํด๋ ๋ฌธ์ ๋์ง๋ ์๊ฒ ์ผ๋.. ์์ญ ์๋ฐฑ๊ฐ๊ฐ ๋๋ค๋ฉด? API ๊ฐฏ์ * 3 ๋งํผ ๋ฐ๋ณต์ ์ธ ๋ ธ๊ฐ๋ค๋ฅผ ํด์ผํฉ๋๋ค.
๋ฐ๋ผ์ ํฌ์คํธ๋งจ์ ๋ณ์๋ฅผ ์ฌ์ฉํด ์์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๐ ๋ฐฉ๋ฒ
๊ทธ๋ผ ์ด์ ํฌ์คํธ๋งจ์์ ์์๊ฐ์ ๋ถ์์ฌ๋ฅผ ๋ง๊ธฐ์ํด ํ๊ฒฝ ๋ณ ๋ณ์๋ฅผ ์์ฑํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
ํฌ์คํธ๋งจ์ ์คํํ ํ ์๋ ์ฌ์ง์ฒ๋ผ ๋(?) ๋ฒํผ์ ํด๋ฆญํ ํ Add ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๊ทธ ํ ํ๊ฒฝ ์ด๋ฆ(Dev, Prod)๊ณผ ๋ณ์(X-Code, X-Token) ๋ฑ์ ์์ฑํ๊ณ ์ ์ฅํฉ๋๋ค.
Request๋ฅผ ์์ฑํ๊ณ ์์์ ์ค์ ํ ํ๊ฒฝ ๋ฐ ๋ณ์ ๊ฐ์ ์ค์ ํฉ๋๋ค.
(1) ๋ถ๋ถ์์ ๋จผ์ ํ์ํ ํ๊ฒฝ(Dev / Local / Prod)์ ์ ํํ๊ณ , ์ค์ ํ ๋ณ์๊ฐ์ ์๋์ ๊ฐ์ด {{ }} ์์ ์์ฑํ๋ฉด ๋ฉ๋๋ค.
์ค์ ํ ํ๊ฒฝ์ ๋ฐ๋ผ ๋ณ์ ๊ฐ์ด ๋ค๋ฅด๊ฒ ๋ํ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
Host
ํธ์คํธ ๋ํ ์ค์ ํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ณดํต ๋ก์ปฌ์์ ํ ์คํธ๋ฅผ ํ ๋๋ localhost๋ฅผ, AWS์ ๊ฐ์ ํด๋ผ์ฐ๋๋ ํน์ IP๊ฐ ์ง์ ์ด ๋๋๋ฐ์, ์ด๋๋ ๋ณ์๋ฅผ ์ค์ ํด์ ํ์ฉํ ์ ์์ต๋๋ค.
์ ์ฌ์ง์ ๋ก์ปฌ ํ๊ฒฝ์ ํ ์คํธ๋ฅผ ํ ๋ ์ค์ ํ localhost ์ ๋๋ค.
์ ์ฌ์ง์ ์์ฉ(์ด์) ํ๊ฒฝ์์ ์ค์ ํ Host์ ๋๋ค.
์ค์ ํ ์คํธ๋ฅผ ํ ๋๋ ์์์ ์ค์ ํ ๋ณ์๋ช ์ ์ง์ ํ๋ฉด ๋ฉ๋๋ค.
์ดํ ๊ฐ๋ฐ ํ๊ฒฝ์์๋ Dev๋ฅผ, ์์ฉ ํ๊ฒฝ์์๋ Prod๋ฅผ ์ง์ ํด์ ํ ์คํธ๋ฅผ ํ ์ ์์ต๋๋ค.
๐ ์ถ๊ฐ
์ถ๊ฐ์ ์ผ๋ก ํฌ์คํธ๋งจ์์ ์ค์ ํ ์ ๋ณด๋ค์ Exportํด์ ๋ค๋ฅธ ์ฌ์ฉ์์ ๊ณต์ ํ ์ ์์ต๋๋ค.
Collections ์ฐํด๋ฆญ > Export ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๊ทธ ํ ์ํ๋ ๋ฒ์ ์ ํด๋ฆญํ๊ณ Export๋ฅผ ํด๋ฆญํ๋ฉด ํ์ผ๋ก ๋ฐ์ ์ ์์ต๋๋ค.
์ ํ์ผ์ ๋ถ๋ฌ์ฌ๋๋ ํฌ์คํธ๋งจ์์ Import๋ฅผ ํ ๋ค Exportํ ํ์ผ์ ๋ถ๋ฌ์ค๋ฉด ๋ฉ๋๋ค.
๐ ์ ๋ฆฌ
์ด์์ผ๋ก ํฌ์คํธ๋งจ์ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ดํด๋ณด์์ต๋๋ค.
์ ๋ API๋ฅผ ํ ์คํธ ํ ๋๋ ๊ฑฐ์ ํญ์ ํฌ์คํธ๋งจ์ ์ฌ์ฉํ๋๋ฐ์, ์ด๋ฒ ๊ธฐํ์ ์ข ๋ ํฌ์คํธ๋งจ์ ํ์ฉํ ์ ์์์ต๋๋ค.
์์ ๊ธฐ๋ฅ๋ค ์ธ์๋ ํฌ์คํธ๋งจ์ ๋ค๋ฅธ ์ธ์์ ์ด๋ํด ๊ณต๋์ผ๋ก ์ฌ์ฉํ๋ค๋๊ฐ, ๊ธ๋ก๋ฒ ๋ณ์๋ฅผ ์ค์ ํ๋ค๋๊ฐ ๋ฑ๋ฑ์ ์ถ๊ฐ ๊ธฐ๋ฅ๋ค์ด ์์ต๋๋ค.
๋ค์์๋ ์ถ๊ฐ์ ์ผ๋ก ์ ์ฉํ ๊ธฐ๋ฅ๋ค๊ณผ ํจ๊ป ํฌ์คํ ํ๋๋ก ํด๋ณด๊ฒ ์ต๋๋ค.
๋๊ธ