API (Application Programming Interface)
์ํํธ์จ์ด๊ฐ ๋ค๋ฅธ ์ํํธ์จ์ด๋ก๋ถํฐ ์ง์ ๋ ํ์์ผ๋ก ๋ช ๋ น์ ๋ฐ์ ์ ์๋ ์๋จ
- ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์ผ์ข ์ ํ์
- ์ ๋ณด๋ฅผ ์์ฒญํ๋ ์ง์ ๋ ํ์์ด ์์ด์ผ ํจ
Restful API
- ๊ณผ๊ฑฐ์ SOAP๋ผ๋ ๋ณต์กํ ํ์ ๋์ฒด
- ๊ฐ์ฅ ์ค์ํ ํน์ฑ์ ๊ฐ ์์ฒญ์ด ์ด๋ค ๋์์ด๋ ์ ๋ณด๋ฅผ ์ํ ๊ฒ์ธ์ง ๊ทธ ์์ฒญ์ ๋ชจ์ต ์์ฒด๋ก ์ถ๋ก ์ด ๊ฐ๋ฅํด์ผ ํจ
URL๋ง ๋ด๋ ์ด๋ค ์์ฒญ์ ํ๊ธฐ ์ํจ์ธ์ง ํ์ ํ ์ ์์ด์ผ ํจ!
- 'https://domain/1, https://domain/hello ' : ๋ฌด์จ ๊ธฐ๋ฅ์ธ์ง ๋ช ํํ ํ์ ํ๊ธฐ ์ด๋ ค์
- https://๋๋ฉ์ธ/classes : class ๋ชฉ๋ก์ ๋ฐ์์ค๋ ์์ฒญ์ด๋ผ๋ ๊ฒ์ ํ์ ํ ์ ์์
{
"result":[
{"idx":1, "name":"์ํ๋ฐ"},
{"idx":2, "name":"์์ด๋ฐ"},
{"idx":3, "name":"๊ตญ์ด๋ฐ"},
{"idx":4, "name":"๊ณผํ๋ฐ"},
]
}
- https://๋๋ฉ์ธ/classes/2 : inx๊ฐ 2์ธ class๋ฅผ ๋ฐ์์ค๋ ์์ฒญ์ด๋ผ๋ ๊ฒ์ ํ์ ํ ์ ์์
{"idx":2, "name":"์์ด๋ฐ"}
- https://๋๋ฉ์ธ/classes/2/student : 2๋ฐ์ ํด๋นํ๋ ํ์๋ค์ ์ ๋ณด๋ฅผ ์์ฒญํ๋ ๊ฒ์ ํ์ ํ ์ ์์
{
"result":[
{"idx":1, "name":"ํ๊ธธ๋1"},
{"idx":2, "name":"ํ๊ธธ๋2"},
{"idx":3, "name":"ํ๊ธธ๋3"},
{"idx":4, "name":"ํ๊ธธ๋4"},
]
}
์ด๋ ๊ฒ URI๋ง ๋ด๋ ๋ฌด์จ ๊ธฐ๋ฅ์ธ์ง ํ์ ํ ์ ์์ด์ผ ํจ(์ง๊ด์ ์ด์ฌ์ผ ํจ)
๋ชฉ์ ์ ๋ฐ๋ผ HTTP method๋ฅผ ๊ตฌ๋ถํด์ ์ฌ์ฉํด์ผํจ
- CRUD ( CREATE, READ, UPDATE, DELETE)
์๋ฒ์ Rest API ์์ฒญ์ ๋ณด๋ผ ๋ HTTP(Hyper Text Transfer Protocol)๋ผ๋ ๊ท์ฝ์ ๋ฐ๋ผ ์ ์กํจ.
post, put, patch : body์ ์ ๋ณด๋ฅผ ๋ณด๋(get, delete๋ณด๋ค ๋ง์ ์ ๋ณด๋ฅผ ํฌํจํ ์ ์์)
- ์์ฒญ์ ์๋๋ฅผ ์ฝ๊ฒ ํ์ ํ ์ ์๋๋ก HTTP Method๋ ์ ์ ํํด์ผ ํจ.
GET : ๋ฐ์ดํฐ ์์ฒญ, ์กฐํ
POST : ๋ฐ์ดํฐ ์ถ๊ฐ
PUT, PETCH : ๋ฐ์ดํฐ ์์ (PUT : ์ ์ฒด ์ ๋ณด ์์ , PETCH : ์ผ๋ถ ์์ )
DELETE : ๋ฐ์ดํฐ ์ญ์
ํ์์ด๊ธฐ ๋๋ฌธ์ ๊ธฐ์ (์ธ์ด)์ ๊ตฌ์ ๋ฐ์ง๋ ์์ง๋ง ์ฝ์๋ ๋๋ก, ์ ์ ๋๋ก ํด์ผํ๋ฉฐ, URI๋ ๋ช ์ฌ๋ก ํ์(๋์ฌX)
'๊ฐ๋ฐ > Web' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring Framework] CORS ์ ์ฉํ๊ธฐ - @CrossOrigin, <mvc:cors>, Filter (0) | 2022.03.11 |
---|---|
[Web] Received fatal alert: handshake_failure ์๋ฌ (0) | 2022.03.08 |
[Spring] Bean ๋ฑ๋ก ๋ฐฉ๋ฒ : @Bean vs @Component ์ฐจ์ด (0) | 2022.02.03 |
[Maven] ๋ฉ์ด๋ธ repository์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐํ๊ธฐ (0) | 2022.02.03 |
[Spring] Spring Boot Admin ์ฌ์ฉํ๊ธฐ - Log, Login ์ ์ฉ (0) | 2022.01.25 |
๋๊ธ