๐โโ๏ธย : ์ฟผ๋ฆฌ๋ ํ๋์ค๋ฃ
RESTful API ์ ์ฉ๊ณผ API ๋ช ์ธ์ ์์ฑ ํ๊ณ
์ฒ์์๋ API๋ฅผ ์ด๋ป๊ฒ ์ค๊ณํ๊ณ ๊ตฌํํ ์ง์ ๋ํ ๋ช ํํ ๋ฐฉํฅ์ด ํ์ํ์ต๋๋ค. RESTful ์ํคํ ์ฒ๋ฅผ ๋ฐ๋ฅด๊ธฐ๋ก ๊ฒฐ์ ํ๊ณ HTTP ๋ฉ์๋(GET, POST, PUT, DELETE)๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ํ์ฉํ๊ณ ์ ํ์ต๋๋ค. ๋ํ URI(Uniform Resource Identifier)๋ฅผ ๋ช ํํ๊ฒ ์ ์ํ๊ณ , ์ํ ์ฝ๋๋ฅผ ์ ์ ํ๊ฒ ์ฌ์ฉํ์ฌ API์ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ ์ถ์์ต๋๋ค
API ๋ช ์ธ์ ์์ฑ์ ๋ค๋ฅธ ๊ฐ๋ฐ์๋ ํด๋ผ์ด์ธํธ ํ๊ณผ์ ์ํํ ์ปค๋ฎค๋์ผ์ด์ ์ ์ํด ํต์ฌ์ ์ธ ๋จ๊ณ์์ต๋๋ค. Swagger ๋๋ OpenAPI Specification๊ณผ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ API ๋ฌธ์๋ฅผ ์์ฑํ ์๋ ์์ง๋ง, notion์ API ๋ช ์ธ์๋ฅผ ์์ฑํ์์ต๋๋ค. ๊ฐ ์๋ํฌ์ธํธ์ ์ค๋ช , ์์ฒญ ๋ฐ ์๋ต ์์ , ์ธ์ฆ ๋ฐฉ๋ฒ ๋ฐ ๋ฒ์ ๊ด๋ฆฌ ๋ฑ์ ํฌํจํ์ต๋๋ค.
API๋ฅผ ์ค๊ณํ ๋ ๋ฆฌ์์ค ์ค์ฌ์ผ๋ก ์ ๊ทผํ๊ณ ์ ๋ ธ๋ ฅํ์ผ๋, ์ฒ์์ ์ด๋ค ๊ฒ์ ๋ฆฌ์์ค๋ก ์ ์ํด์ผ ํ๋์ง ์ดํดํ๋ ๋ฐ ์ด๋ ค์์ ๊ฒช์์ต๋๋ค. ๋ํ, ํ๋ผ๋ฏธํฐ๋ฅผ ์ด๋ป๊ฒ ์ ์กํด์ผ ํ๋์ง์ ๋ํ ํผ๋๋ ์์์ต๋๋ค.
์ฒ์์๋ ์ด๋ค ๊ฒ์ ๋ฆฌ์์ค๋ก ํํํด์ผ ํ๋์ง ๋ช ํํ ์ดํดํ์ง ๋ชปํ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ฌ์ฉ์, ์ ํ, ์ฃผ๋ฌธ๊ณผ ๊ฐ์ ๊ฐ๋ ์ ๋ฆฌ์์ค๋ก ์์ฐ์ค๋ฝ๊ฒ ๋ ์ฌ๋์ง๋ง, ๊ธฐํ ๊ฐ๋ ์ ์ด๋ค ์์ผ๋ก ์ ์ํด์ผ ํ๋์ง์ ๋ํ ๊ณ ๋ฏผ์ด ํ์ํ์ต๋๋ค.
API๋ฅผ ํธ์ถํ ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ด๋ป๊ฒ ์ ์กํด์ผ ํ๋์ง์ ๋ํ ํผ๋๋ ์์์ต๋๋ค. ํ๋ผ๋ฏธํฐ๋ฅผ ๊ฒฝ๋ก(path)์ ํฌํจํ ์ง, ์ฟผ๋ฆฌ(query) ๋ฌธ์์ด๋ก ์ ์กํ ์ง ๊ฒฐ์ ํ๋ ๊ฒ์ด ์ฝ์ง ์์์ต๋๋ค.
์ ์ด๋ ค์์ ๊ทน๋ณตํ๊ธฐ ์ํด RESTful ์ค๊ณ ์์น๊ณผ ๋ฆฌ์์ค ์๋ณ์ ๋ํ ์ถ๊ฐ์ ์ธ ํ์ต์ ์งํํ์ต๋๋ค. ์ด๋ฌํ ๋ ธ๋ ฅ์ ํตํด API ์๋ํฌ์ธํธ๊ฐ ๊ฐ ๋ฆฌ์์ค์ ์ฐ๊ฒฐ๋๋๋ก ์ค๊ณํ๋ ๋ฐฉ๋ฒ์ ์ต๋ํ๊ฒ ๋์์ต๋๋ค. ๋ํ, ๊ฒฝํ์ ํตํด ์ด๋ค ๊ฒฝ์ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ฒฝ๋ก์, ์ด๋ค ๊ฒฝ์ฐ์๋ ์ฟผ๋ฆฌ ๋ฌธ์์ด๋ก ์ ์กํด์ผ ํ๋์ง์ ๋ํ ๊ธฐ์ค์ ํ๋ฆฝํ์ต๋๋ค.