SSG(Static Site Generation)๋ ํ์ด์ง๋ฅผ ๋น๋ํ ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ๋ถ๋ฌ์์ ์ ์ HTML ํ์ผ๋ก ์์ฑํ๋ ๋ฐฉ์์ ๋๋ค. ๋น๋ ์์ ์ API๋ฅผ ํธ์ถํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐฉ์๊ณผ ์ฌ์ฉ์๊ฐ ํ์ด์ง์ ์ ๊ทผํ ๋ API๋ฅผ ํธ์ถํ๋ ๋ฐํ์ ์์ ์ ๋ํด ํผ๋ํ ์ ์์ต๋๋ค. ์ด ๊ธ์์๋ ๊ทธ ์ฐจ์ด๋ฅผ ๋ช ํํ ์ค๋ช ํ๊ณ , ํฌ๋กฌ ๊ฐ๋ฐ์ ๋๊ตฌ์ ๋คํธ์ํฌ ํญ์์ ์ ์ค์ API ์์ฒญ์ด ๋ณด์ด๋์ง์ ๋ํด ์ค๋ช ํฉ๋๋ค.
1. ๋น๋ ์์ ์ ๋ฐ์ดํฐ ํธ์ถ
SSG์์๋ ๋น๋ ์์ ์ ํ์ด์ง์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ํธ์ถํ๊ณ , ์ด ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ผ๋ก ์ ์ HTML ํ์ผ์ ์์ฑํฉ๋๋ค. ์ด๋ API ์์ฒญ์ ๋น๋ ๊ณผ์ ์ค์๋ง ๋ฐ์ํ๋ฉฐ, ๋น๋ ํ์๋ ์ด๋ฏธ ๋ฐ์ดํฐ๊ฐ HTML ํ์ผ์ ํฌํจ๋๋ฏ๋ก ์ฌ์ฉ์๊ฐ ํด๋น ํ์ด์ง๋ฅผ ์์ฒญํ ๋ API ํธ์ถ์ด ์ด๋ฃจ์ด์ง์ง ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, Next.js์์ getStaticProps๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋ ์์ ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ณ , ์ด ๋ฐ์ดํฐ๋ฅผ ์ ์ HTML์ ํฌํจ์ํต๋๋ค. ์ฌ์ฉ์๊ฐ /products/[id] ํ์ด์ง์ ์ ๊ทผํ๋ฉด, ์ด๋ฏธ ์์ฑ๋ HTML์ ์ ๊ณต๋ฐ์ต๋๋ค.
2. ๋ฐํ์ ์์ ์ API ํธ์ถ
ํ์ง๋ง ํ์๊ฐ์ ์ด๋ ๋ก๊ทธ์ธ๊ณผ ๊ฐ์ ๋์ ์ธ ์์ ์ ๋น๋ ์์ ์ ํฌํจ๋์ง ์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ๋ฒํผ์ ํด๋ฆญํ๊ฑฐ๋ ํผ์ ์ ์ถํ ๋, ํด๋ผ์ด์ธํธ ์ธก์์ ์ค์ ๋ก ์๋ฒ์ API ์์ฒญ์ ๋ณด๋ด๋ ๋ฐํ์ API ํธ์ถ์ด ๋ฐ์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ํ์๊ฐ์
ํผ์ ์ ์ถํ ๋ /api/register์ ๊ฐ์ POST ์์ฒญ์ด ๋ฐ์ํ๋ฉฐ, ์ด ์์ฒญ์ ์๋ฒ์ ์ค์ ๋ก ์ฐ๊ฒฐ๋์ด ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ฒ ๋ฉ๋๋ค.
3. ์ ๋คํธ์ํฌ ํญ์ API ์์ฒญ์ด ๋ณด์ด๋๊ฐ?
๋น๋ ์์ ์ API ํธ์ถ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ณ , ์ด๋ฅผ ์ ์ HTML์ ํฌํจ์์ผฐ๊ธฐ ๋๋ฌธ์ ํ์ด์ง๊ฐ ๋ก๋๋ ๋ API ํธ์ถ์ด ๋ฐ์ํ์ง ์์ง๋ง, ํ์๊ฐ์ ๊ณผ ๊ฐ์ ๋์ ์ธ ์์ ์์๋ ์ฌ์ ํ ๋ฐํ์ ์์ ์ API ํธ์ถ์ด ๋ฐ์ํฉ๋๋ค. ์ด๋ ๋คํธ์ํฌ ํญ์ API ์์ฒญ์ด ๋ณด์ด๋ ์ด์ ๋ ์ฌ์ฉ์๊ฐ ์ธํฐ๋์ ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์์ ์์ ํด๋ผ์ด์ธํธ๊ฐ ์ค์ ๋ก API๋ฅผ ํธ์ถํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ฒฐ๋ก
SSG์ ๋ฐํ์์์์ API ํธ์ถ ์ฐจ์ด๋ฅผ ์ดํดํ๋ฉด, ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ด๋ป๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ๋ ๋๋งํ๋์ง ๋ ์ ํ์ ํ ์ ์์ต๋๋ค.