์จ๋ผ์ธ ๊ฐ์
>PHP - ๊ณ ๊ธ
๐ PHP ๊ณ ๊ธ - 4์ฃผ์ฐจ: RESTful API ๊ฐ๋ฐ ๊ธฐ์ด - 02 API ์๋ํฌ์ธํธ ์ค๊ณ
				์ฃผ์ ํ๋ก๊ทธ๋จ ์คํ
- ํ์ : 10.0
 - ๋ผ์ด์ ์ค: free
 - ์ด์์ฒด์ :
 - ํ์ผ ํฌ๊ธฐ: 0
 
ํผ๋๋ฐฑ ๋ฐ ๋ค์ด๋ก๋
- ์ฌ์ฉ์ ํ์ : 10.0
 - ๋ค์ด๋ก๋ ์: 1
 - ์กฐํ์: 46
 
์ ์กฐ์ฌ ๋ฐ ๋ฑ๋ก ์ ๋ณด
- ์ ์์ฌ: LUZENSOFT
 - ๋ฑ๋ก์ผ: 2025-09-14 14:50:35
 
- ์ค๋ช
#API #์๋ํฌ์ธํธ #์ค๊ณ์ #์ค์์ฑ
#API ์๋ํฌ์ธํธ ์ค๊ณ๋ #RESTful API์ #์ฌ์ฉ์ฑ, #์ ์ง๋ณด์์ฑ, #ํ์ฅ์ฑ์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์ ์ค๊ณ๋ ์๋ํฌ์ธํธ๋ #๊ฐ๋ฐ์๊ฐ API๋ฅผ ์ฝ๊ฒ ์ดํดํ๊ณ ์ฌ์ฉํ ์ ์๋๋ก ๋์ต๋๋ค. ๋ฐ๋๋ก ์๋ชป ์ค๊ณ๋ ์๋ํฌ์ธํธ๋ #ํผ๋์ ์ผ๊ธฐํ๊ณ , ๋ถํ์ํ #๋ณต์ก์ฑ์ ์ฆ๊ฐ์์ผ #๊ฐ๋ฐ ๋น์ฉ์ ๋์ผ ์ ์์ต๋๋ค. #RESTful ์์น์ ๋ฐ๋ฅด๋ ์๋ํฌ์ธํธ ์ค๊ณ๋ API๊ฐ ์์ธก ๊ฐ๋ฅํ๊ณ ์ผ๊ด์ฑ ์๊ฒ ๋์ํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
#์์ (Resource) #๊ธฐ๋ฐ #URL #์ค๊ณ
#RESTful API์ ํต์ฌ์ #์์์ ๋๋ค. ๋ชจ๋ ์๋ํฌ์ธํธ๋ ํน์  #์์์ ๋ํ๋ด์ผ ํฉ๋๋ค. ์์ ๊ธฐ๋ฐ URL ์ค๊ณ์ ์ฃผ์ ์์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
#๋ช ์ฌ ์ฌ์ฉ: URL์ #๋์ฌ ๋์ #๋ช ์ฌ๋ฅผ ์ฌ์ฉํ์ฌ ์์์ ํํํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด,
GET /getUsers๋์GET /users๋ฅผ ์ฌ์ฉํฉ๋๋ค.#์ปฌ๋ ์ ๊ณผ #๋จ์ผ ์์: ์์ ์ปฌ๋ ์ ์ #๋ณต์ ๋ช ์ฌ๋ฅผ ์ฌ์ฉํ๊ณ , ํน์  ๋จ์ผ ์์์ ํด๋น ์ปฌ๋ ์  ๋ค์ #ID๋ฅผ ๋ถ์ฌ ํํํฉ๋๋ค.
๋ชจ๋ ์ฌ์ฉ์ ์กฐํ:
GET /usersํน์  ์ฌ์ฉ์ ์กฐํ:
GET /users/{id}
#ํ์ ์์: ํน์  ์์์ ํ์์ ์ข ์๋ ์์์ด ์๋ค๋ฉด
/๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ์ธต์ ์ผ๋ก ํํํฉ๋๋ค.ํน์  ์ฌ์ฉ์์ ๊ฒ์๋ฌผ ์กฐํ:
GET /users/{id}/postsํน์  ๊ฒ์๋ฌผ์ ๋๊ธ ์กฐํ:
GET /posts/{id}/comments
#๋์ฌ ๋์ #์ฟผ๋ฆฌ_ํ๋ผ๋ฏธํฐ: ์์์ ๋ํ ํน์  ํ์๋ฅผ ๋ํ๋ด์ผ ํ ๋๋ URL์ ๋์ฌ๋ฅผ ์ถ๊ฐํ๊ธฐ๋ณด๋ค #HTTP ๋ฉ์๋๋ฅผ ํ์ฉํ๊ฑฐ๋ #์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
ํ์ฑ ์ฌ์ฉ์ ์กฐํ:
GET /users?status=active(๊ถ์ฅ)GET /activeUsers(๋น๊ถ์ฅ)
#๋ฒ์  ๊ด๋ฆฌ: API๊ฐ ๋ฐ์ ํจ์ ๋ฐ๋ผ ํ์ ํธํ์ฑ์ ์ ์งํ๊ธฐ ์ํด #๋ฒ์  ๊ด๋ฆฌ๊ฐ ํ์ํฉ๋๋ค. URL์ ๋ฒ์ ์ ๋ช ์ํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ ๋๋ค.
GET /v1/usersGET /v2/users
#HTTP #๋ฉ์๋ (Method)์ #์ ์ ํ #์ฌ์ฉ
#HTTP ๋ฉ์๋๋ #CRUD ์์ ๊ณผ #์ง๊ด์ ์ผ๋ก ๋งคํ๋์ด์ผ ํฉ๋๋ค.
#GET: ์์์ #์กฐํํฉ๋๋ค. ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ์ง ์์ต๋๋ค (๋ฉฑ๋ฑ์ฑ).
GET /users(๋ชจ๋ ์ฌ์ฉ์ ์กฐํ)GET /users/{id}(ํน์  ์ฌ์ฉ์ ์กฐํ)
#POST: ์๋ก์ด #์์์ ์์ฑํฉ๋๋ค.
POST /users(์ ์ฌ์ฉ์ ์์ฑ)
#PUT: ๊ธฐ์กด #์์์ ์์ ํ #๊ฐฑ์ ํฉ๋๋ค. ์์ฒญ ๋ณธ๋ฌธ์ ์ ์ฒด ์์ ํํ์ด ํฌํจ๋์ด์ผ ํฉ๋๋ค (๋ฉฑ๋ฑ์ฑ).
PUT /users/{id}(ํน์  ์ฌ์ฉ์ ์ ๋ณด ์ ์ฒด ๊ฐฑ์ )
#PATCH: ๊ธฐ์กด #์์์ ์ผ๋ถ๋ฅผ #๋ถ๋ถ์ ์ผ๋ก ๊ฐฑ์ ํฉ๋๋ค.
PATCH /users/{id}(ํน์  ์ฌ์ฉ์ ๋น๋ฐ๋ฒํธ๋ง ๊ฐฑ์ )
#DELETE: ํน์  #์์์ #์ญ์ ํฉ๋๋ค (๋ฉฑ๋ฑ์ฑ).
DELETE /users/{id}(ํน์  ์ฌ์ฉ์ ์ญ์ )
#HTTP #์๋ต #์ํ_์ฝ๋ (Status Code) #ํ์ฉ
#API ์๋ต ์ ์ ์ ํ #HTTP ์ํ ์ฝ๋๋ฅผ ๋ฐํํ๋ ๊ฒ์ #ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์๋ต์ ์ ํํ๊ฒ ์ดํดํ๊ณ ์ฒ๋ฆฌํ๋ ๋ฐ ํ์์ ์ ๋๋ค.
#2xx (์ฑ๊ณต)
200 OK: ์์ฒญ ์ฑ๊ณต.201 Created: ์์ ์์ฑ ์ฑ๊ณต.204 No Content: ์ฑ๊ณตํ์ง๋ง ์๋ต ๋ณธ๋ฌธ์ ๋ณด๋ผ ๋ด์ฉ์ด ์์ (DELETE ์์ฒญ ๋ฑ).
#4xx (ํด๋ผ์ด์ธํธ ์ค๋ฅ)
400 Bad Request: ์๋ชป๋ ์์ฒญ.401 Unauthorized: ์ธ์ฆ ์คํจ (๋ก๊ทธ์ธ ํ์).403 Forbidden: ๊ถํ ์์ (์ ๊ทผ ๊ฑฐ๋ถ).404 Not Found: ์์ฒญํ ์์์ ์ฐพ์ ์ ์์.405 Method Not Allowed: ํ์ฉ๋์ง ์์ HTTP ๋ฉ์๋.
#5xx (์๋ฒ ์ค๋ฅ)
500 Internal Server Error: ์๋ฒ ๋ด๋ถ ์ค๋ฅ.
#RESTful API ์ค๊ณ ์ ์ด๋ฌํ ์์น๋ค์ ๋ฐ๋ฅด๋ฉด #์์ธก ๊ฐ๋ฅํ๊ณ #์ ์ง๋ณด์ํ๊ธฐ ์ฌ์ด API๋ฅผ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
PHP ๊ณ ๊ธ RESTful API ๊ฐ๋ฐ ๊ธฐ์ด API ์๋ํฌ์ธํธ ์ค๊ณ ์ค์์ฑ ์์ ๊ธฐ๋ฐ URL HTTP ๋ฉ์๋ ์ ์ ํ ์ฌ์ฉ HTTP ์๋ต ์ํ ์ฝ๋ ํ์ฉ
์๋, ์์ ์ฑ ํ์ค. ๋๊น์์ด ๋น ๋ฅธ VPN. ๊ณ ํ์ง ๋ธ์ดํผ์ ๋ฌด๋ฃ์ฒดํ!
https://xn--299ao67b9qbmsf04c.net/