https://www.codingworldnews.com/news/articleView.html?idxno=14133
MS, API ๊ฐ๋ฐ ์ค๊ณ ์ธ์ด๋ก '์บ๋ค' ์ ํ - ์ฝ๋ฉ์๋๋ด์ค
๋ง์ดํฌ๋ก์ํํธ(Microsoft)๊ฐ ๋๋ถ๋ถ์ API ๊ฐ๋ฐ์ OpenAPI ์ ์๋ก ์ปดํ์ผํ๊ธฐ ์ , ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก API ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ ๋ฐ ๋์์ด ๋๋ ์บ๋ค(Cadl) ์ธ์ด๋ฅผ ํ์ฉํ๊ณ ์๋ค. ์ํํธ์จ์ด ์ ๋ฌธ๋งค์ฒด ์ธ
www.codingworldnews.com

์บ๋ค ์ฉ์ด์ ๋ค์ด๊ฐ๊ธฐ ์ , API๊ฐ ๋ฌด์์ธ์ง ์ดํด๋ณด์.
API์ ์ ์๋ถํฐ ๋ณด๋ฉด, 'Application Programming Interface'์ ์ฝ์๋ก์ ์ด์์ฒด์ ์ ์์ฉํ๋ก๊ทธ๋จ ์ฌ์ด์ ํต์ ์ ์ฌ์ฉ๋๋ ์ธ์ด๋ ๋ฉ์์ง ํ์์ ์ด์ผ๊ธฐํ๋ค.
โ
๊ฐ๊ฒ์ ์ ์ ๊ฐ์ ์ญํ , API

๋จผ์ API๋, ์ ์์ ์๋์ ์ฃผ๋ฌธ์ ๋ฐ์ ์๋ฆฌ์ฌ์๊ฒ ์ ๋ฌํ๊ณ , ๋ฐ๋๋ก ์๋ฆฌ์ฌ์๊ฒ ๋ฐ์ ์์์ ์๋์๊ฒ ์ ํ๋ค. ์ ์์ ์ญํ ์ฒ๋ผ API๋ ์ค๊ฐ ์ ๋ฌ์์ ์ญํ ์ ํ๋ค.
โ

์๋ฆฌ์ฌ์ ์๋์ ๊ฐ ์๋ฒ๋ผ๊ณ ํ๋ค๋ฉด API๋ ์ค๊ฐ์์ ์์ชฝ์ ์๋ฒ๋ฅผ ์ฐ๊ฒฐ!!
https://m.blog.naver.com/PostView.naver?blogId=kistiscienceon&logNo=222722915536&navType=by
API ๋ป? ์คํ API? ์ฝ๊ฒ ์ค๋ช ํด์ค๊ฒ~
๋น์ ๊ณต์๋ ์ดํดํ ์ ์๋๋ก, API A to Z ํ์ ํด๋ณผ๊น์? ์ฌ๋ฌ๋ถ API์ ๋ํด ์๊ณ ๊ณ์๋์? AP...
blog.naver.com
์บ๋ค Cadl
์บ๋ค์ .NET๊ณผ ์ผ๋ถ ์ ์ฌํ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ ์ฌํ ์ธ์ด๋ค. ๋ง์ดํฌ๋ก์ํํธ๋ C#์ ์ต์ํ ์ฌ๋์ด๋ผ๋ฉด ๋๊ตฌ๋ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ‘API์ฉ TypeScript’๋ผ๊ณ ์ค๋ช ํ๋ค. ๋น์ฃผ์ผ ์คํ๋์ค ๋ฐ ๋น์ฃผ์ผ ์คํ๋์ค ์ฝ๋์ ์ธ์ด ์๋ฒ์ ์บ๋ค ํ์ฅ์ ์ถ๊ฐํด ๊ธฐ๋ณธ ์ ๊ณต ๊ตฌ๋ฌธ ๊ฐ์กฐ ํ์, ์ฝ๋ ์์ฑ, linting์์ ์ง์์ ๋ฐ์ ์ ์๋ค.
์ฅ์
1. ๋์์ธ์ ์ถ์ํํด, ๋ ๊ฐ๊ฒฐํ ์ถ๋ ฅ์ ์ ๊ณต
-> ๋น์ฃผ์ผ ์คํ๋์ค์ ๊ฐ์ ํ๋ซํผ์ OpenAPI ๋๊ตฌ๊ฐ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ๊ตฌ๋ฌธ ๋ถ์ ๊ฐ๋ฅ
2. ์บ๋ค์ ์ฌ์ฉํ๋ฉด 50์ค์ ์ฝ๋๋ก 500์ค OpenAPI ์ ์ ๊ฐ๋ฅ
=> ์ค๊ณ์์ ๊ฐ๋ฐ์๊ฐ API๋ฅผ ๊ตฌ์ฑํ๊ณ ์ ํํ๋ ๋ ผ๋ฆฌ์ ์ธ ๋ฐฉ๋ฒ์ด๋ค.
์บ๋ค์์ API ์ ์ ์์ฑ๋ฒ
1. ์ผ๋ฐ์ ์ผ๋ก ์บ๋ค ์ฝ๋์ ๊ธฐ๋ณธ ํ์ผ์์ REST ๋ฐ OpenAPI ๋ฐ์ธ๋ฉ์ ํด์ผ ํ๋ค.
์บ๋ค์์ ํค์๋๋ ‘๋ฐ์ฝ๋ ์ดํฐ’๋ผ๊ณ ํ๋ฉฐ @๋ก ์์ํด ํ์ผ์ ์ฌ๋์ด ์ฝ์ ์ ์๋๋ก ํ๋ค. ์ ์๋ ์๋น์ค ์ ์๋ก ์์ํด ์๋น์ค์ ์ด๋ฆ์ ์ง์ ํ๊ณ ๋ฒ์ ๋ฒํธ๋ฅผ ์ง์ ํด์ผ ํ๋ค. ๋ค์์ ์๋ํฌ์ธํธ์ ๋ํ URI๊ฐ ์๋ ์๋ฒ ์ ์๋ฅผ ์ถ๊ฐํ ์ ์๋ค. ์ ์ธ๊ณ์ ์ผ๋ก ๋ถ์ฐ๋ ์์คํ
์ ์ ์ฉํ ์ด ๊ธฐ๋ฅ์ API๋ฅผ ์ฌ์ฉํ ์ ์๋ ์ง์ญ๊ณผ ๊ฐ์ ์ถ๊ฐ ๋งค๊ฐ๋ณ์๋ฅผ ์ถ๊ฐํ ์ ์๋ค. ์ด๋ ์ ์ (Azure)๋ฅผ ์ผ๋์ ๋๊ณ ์ค๊ณ๋ ๊ฒ์ด์ง๋ง, ์ฌ๋ฌ ์๋ํฌ์ธํธ๊ฐ ์๋ ๋ถ์ฐ ์์คํ
์ ์ ์ฉํ๋ค.
2. API์์ ์ฌ์ฉํ๋ ๊ฒฝ๋ก์ ๋ฆฌ์์ค๋ฅผ ์ ์ํ๋ค.
๊ฒฝ๋ก๋ ์๋น์ค URI์ ์๋์ ์ธ ๋ฆฌ์์ค ๊ฒฝ๋ก์ด๋ฉฐ API ์์
์ ๋ํํ๋ ๋ค์์คํ์ด์ค์ ์ฐ๊ฒฐ๋๋ค. ์์
์ ์์๋๋ HTTP ๋์ฌ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ๋ชฉ๋ก๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ผ๋ก ์ ์๋๋ค. ์ด๋ฆ์ด ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ ์ปดํ์ผ๋ฌ๋ API๋ฅผ ์์ฑํ ๋ ์ ์ ํ ๋์ฌ๋ฅผ ์ถ๊ฐํ๋ค. ์ด๋ REST API ํธ์ถ์ ์์ฒญ ๋ณธ๋ฌธ์ ์ ์ํ ์ ์์ผ๋ฏ๋ก ์ด๋ฅผ ์ฌ์ฉํด ๋ณต์กํ API์ JSON์ ๋ณด๋ด๊ฑฐ๋ ๋น๊ต์ ๊ธฐ๋ณธ์ ์ธ ๊ฒ์ ๋ํ ๊ฐ๋จํ ํ
์คํธ๋ฅผ ๋ณด๋ผ ์ ์๋ค.
API๊ฐ ๋ ๋ณต์กํ ๋๋ ์๋ ๊ฒฝ๋ก ์ง์ ์ต์
์ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํด ๊ฒฝ๋ก๋ฅผ ์์ฑํ ์ ์๋ค. ์ฌ์ฉ์ ์ด๋ฆ์ด๋ ID๋ฅผ ๊ฒฝ๋ก์์ ์์ํ๋ API์ ์ ๋ฌํ๋ ๋๋ฅผ ์์๋ก ์ธ๊ธํ ์ ์๋ค. ๊ฒฝ๋ก์ ๋งค๊ฐ๋ณ์๋ฅผ ์ ๋ฌํ๋ ๊ฒ์ผ๋ก ์ ํ๋์ง ์๋๋ค.
URL ์ฟผ๋ฆฌ๋ก ์ ๋ฌํ๋ ์ต์
์ด ์๋ค. ๊ฒฐ๊ณผ๋ Express node.js ์ ํ๋ฆฌ์ผ์ด์
ํ๋ ์์ํฌ ์์
์ ์ฐ์์ํค๋ REST API๋ฅผ ์ ์ํ๋ ๋น๊ต์ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด๋ค. ์ฃผ๋ก ์บ๋ค์ด ์๋น์ค ํธ์ถ์ ์ํ URL์ ๊ตฌ์ฑํ๊ณ API๋ฅผ ์ฝ๋๋ก ์ถ์ํํ๊ธฐ ๋๋ฌธ์ด๋ค.
API ์ ์ ์์ฑ์ ์บ๋ค ๊ธฐ๋ฅ ์ค ์ผ๋ถ ๊ธฐ๋ฅ์ ํด๋นํ๋ค. ๋ ์ค์ํ ๊ฒ์ API๋ฅผ ์ ๊ณตํ๋ ๋ฐ ์ฌ์ฉํด์ผ ํ๋ ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํด ๊ฐ๋ฐํ์ API ํ์ค์ ์ ์ฉํ๋ ๊ฒ์ด๋ค. ์บ๋ค ์ ์ ํ์ค์ ๊ตฌ์ถํ๊ธฐ ์ํ ํต์ฌ ์์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์์ฑํ๋ ๊ฒ์ด๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์บ๋ค ์ ์์ ํ์ค์ ํ๋ฆฝํ๋ค๋ฉด, C#๊ณผ ๋งค์ฐ ์ ์ฌํ ๊ตฌ๋ฌธ์ผ๋ก ๊ณตํต ํจ์์ ๋ํ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ํ
ํ๋ฆฟ์ ๊ด๋ฆฌํ ์ ์๋ค. ๋, ๋ง์ดํฌ๋ก์ํํธ๋ ์ด๋ฅผ ์ฌ์ฉํด ์ ์ API ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณผ ๊ฐ์น๊ฐ ์๋ค.
์๋ฅผ ๋ค์ด, API์ ๊ธฐ๋ฅ์ ์์ธํ ์ค๋ช
ํ๋ REST API ํ์์ ์ ์ํ๋ ์ผ๋ฐ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค ์ ์๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ผ๋ฉด API ์ธํฐํ์ด์ค๋ฅผ ํ์ฅํด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ
ํ๋ฆฟ์ ์ฌ์ฉํด ๊ฒฝ๋ก์ ๋งคํํ๊ณ ์ ์ ํ๊ฒ ํ๊ทธ๋ฅผ ์ง์ ํ ์ ์๋ค. ๋ค์์ผ๋ก ๋ชจ๋ธ ์ ์๋ฅผ ์ฌ์ฉํด ์์ ์๋ต์ ๋์ดํ๋ API๋ฅผ ์์ฑํ๋ค.
Comments
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ๊ณ์ํด์ ๋์ค๊ณ ์์ด์ ๋ค ๊ณต๋ถํด์ผ ํ๋ ๋ถ๋ด์ด ์์๋๋ฐ, C#๊ณผ ๋น์ทํ๋ค๊ณ ํ๋ ๋คํ์ด๋ค.