Web API
REST API์ uniform interface
๋ฅผ ์ง์ํ๋ ๊ฒ์ด ์ฝ์ง ์๊ธฐ ๋๋ฌธ์, ์ด๋ฅผ ์ง์ํ์ง ์๊ณ ๋ง๋ API๋ฅผ Web API
๋ผ๊ณ ํ๋ค.
- uniform interface
- ๋ฆฌ์์ค๋ URI๋ก ์๋ณ๋์ด์ผ ํจ
- HTTP ํํ์ ์ด์ฉํด ๋ฆฌ์์ค๋ฅผ ์์ฑ, ์์ , ์ถ๊ฐํด์ผ ํจ
- ๋ฉ์์ง๋ ์ค์ค๋ก ์ค๋ช ํ ์ ์์ด์ผ ํจ
- ์ ํ๋ฆฌ์ผ์ด์
์ ์ํ๋ ํ์ดํผ๋งํฌ๋ฅผ ํตํด ์ ์ด๋์ด์ผํจ
- 3&4 ์กฐ๊ฑด์ด ๊น๋ค๋กญ๋ค.
API
Application Programming Interface
ํ๋ก๊ทธ๋๋ฐ์ ํ ๋ ํ์ํ ์ธํฐํ์ด์ค๋ฅผ API๋ผ๊ณ ํ๋ค.
API๋ ์ฌ์ฉ๋ฐฉ๋ฒ๋ง ์ ์์งํ๋ฉด ๋ด๋ถ์ ๊ตฌํ๋ ์ฝ๋๋ฅผ ๋ชฐ๋ผ๋ ์ ํ์ฉํ ์ ์๋ค.
ํ์ผ ์ฒ๋ฆฌ, ํ์ ์ฒ๋ฆฌ, ๋ฌธ์ ์ ์ด ๋ฑ๋ฑ ์ฌ๋ฌ ์ฉ๋๋ก ์ ๊ณต๋๋ค.
HTTP Method
์์์ ๋ค๋ฃจ๊ธฐ ์ํ ํํ์ด๋ค.
- post : ์์ฒญํ๋ ๋ฆฌ์์ค๋ฅผ ์์ฑํ๋ค.
- GET : ์ํ๋ ๋ฆฌ์์ค๋ฅผ ์กฐํํ๋ค.
- PUT : ์ํ๋ ๋ฆฌ์์ค๋ฅผ ์์ ํ๋ค.
- DELETE : ์ํ๋ ๋ฆฌ์์ค๋ฅผ ์ญ์ ํ๋ค.
๊ท์น
- ์ธ๋๋ฐ
(_)
๋ ์ฌ์ฉ x - ํ์ดํ
(-)
์ ๊ฐ๋ ์ฑ์ ๋์ด๊ณ ์ถ์ ๋ ์ฌ์ฉ - URI ๊ฒฝ๋ก๋ ์๋ฌธ์๋ง ์ฌ์ฉํด์ผ ํ๋ค.
- ํ์ผ ํ์ฅ์๋ฅผ ํฌํจํ๋ฉด ์ ๋๋ค.
- ์ฌ๋์(
/
)๋ก ๊ณ์ธต์ ๋ํ๋ธ๋ค.- HTTP Method์ ํ์ ๊ณ์ธต์ผ๋ก ๋ค๋ฅธ HTTP Method๊ฐ ๋์์๋ ์๋๋ค.
์ํ์ฝ๋
-
20X : ์ ์์ ์ธ ์ํ
- 200 : ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ฑ๊ณต์ ์ผ๋ก ์ํ
- 201 : ํด๋ผ์ด์ธํธ๊ฐ ํน์ ํ ๋ฆฌ์์ค๋ฅผ ์์ฑ ์์ฒญํ๊ณ ํด๋น ๋ฆฌ์์ค๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์์ฑํ์ ๋
-
40X : ํด๋ผ์ด์ธํธ๋ก ์ธํ ์ค๋ฅ
- 400 : ํด๋ผ์ด์ธํธ์ ์์ฒญ์ด ์ ์ ํ์ง ์์ ๋
- 401 : ์ธ์ฆ๋์ง ์์ ํด๋ผ์ด์ธํธ๊ฐ ๋ณดํธ๋ ๋ฆฌ์์ค๋ฅผ ์์ฒญํ์ ๋
- 403 : ์๋ฒ๊ฐ ์๋ตํ๊ณ ์ถ์ง ์์ ๋ฆฌ์์ค๋ฅผ ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญํ์ ๋
- 405 ์ฌ์ฉ ๋ถ๊ฐ๋ฅํ ๋ฉ์๋๋ฅผ ์ด์ฉํ์ ๊ฒฝ์ฐ
-
301 & 500 : ์๋ฒ๋ก ์ธํ ์ค๋ฅ
- 301 : ์์ฒญํ ๋ฆฌ์์ค์ ๋ํ URI๊ฐ ๋ณ๊ฒฝ๋์์ ๋
- 500 : ์๋ฒ์ ๋ฌธ์ ๊ฐ ์๊ฒผ์ ๋