์ด ํ์ด์ง๋ Apigee ๋ฐ Apigee Hybrid์ ์ ์ฉ๋ฉ๋๋ค.
API ๋ฑ๋ก
API ํ๋ธ์ API๋ฅผ ๋ฑ๋กํ๋ฉด API๋ฅผ ๋ํ๋ด๋ ํญ๋ชฉ์ ๋ง๋ค๊ณ ์ ์ฅํฉ๋๋ค. ์ด ํญ๋ชฉ์ API ๋ฆฌ์์ค๋ผ๊ณ ํฉ๋๋ค. API ํ๋ธ์ ์ ์ฅ๋ API ๋ฆฌ์์ค๋ฅผ ๊ฒ์ํ ์ ์์ผ๋ฉฐ API์ ๋ํ ์์ธํ ์ด์ ๋ฐ ์ค๋ช ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค. API๋ฅผ ๋ฑ๋กํ ๋ ๋๋ ์ดํ์ API ๋ฆฌ์์ค ์์ฑ์ ์ถ๊ฐํ๊ณ ์์ ํ์ฌ API์ ๋ํ ํ๋ถํ ์ค๋ช ์ ์์ฑํ ์ ์์ต๋๋ค.
Console
API๋ฅผ ๋ฑ๋กํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
Google Cloud ์ฝ์์์ API ํ๋ธ์ API ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
API ํ๋ธ๋ก ์ด๋- API ๋ฑ๋ก์ ํด๋ฆญํฉ๋๋ค.
์ผ๋ฐ ์ธ๋ถ์ ๋ณด์์ API์ ๊ณ ์ ID๋ฅผ ์ง์ ํฉ๋๋ค(์ ํ์ฌํญ). ID๋ฅผ ์ ๊ณตํ์ง ์์ผ๋ฉด ์์คํ ์์ ID๋ฅผ ์๋์ผ๋ก ์์ฑํฉ๋๋ค. ID๋ฅผ ์ ๋ ฅํ๋ ค๋ฉด ๊ณ ์ ID ์ง์ ์ ํด๋ฆญํฉ๋๋ค.
- (ํ์) API ๋ฆฌ์์ค์ ํ์ ์ด๋ฆ์ ์ ๊ณตํฉ๋๋ค.
- ์ ํ์ ์ผ๋ก API๋ฅผ ์ค๋ช
ํ๋ ์ถ๊ฐ ์์ฑ์ ์ถ๊ฐํฉ๋๋ค. ์ธ์ ๋ ์ง API๋ก ๋์๊ฐ์ API ์์ฑ์ ์ถ๊ฐํ๊ฑฐ๋ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. API ๋ฆฌ์์ค ์์ ์ ์ฐธ์กฐํ์ธ์.
- ์์ ์ ์ ๋ณด: (์ ํ์ฌํญ) API ์์ ์์ ์ด๋ฆ ๋ฐ ์ด๋ฉ์ผ ์ฃผ์์ ๋๋ค.
- ์ถ๊ฐ ์ธ๋ถ์ ๋ณด: (์ ํ์ฌํญ) API๋ฅผ ์ ์ํ๊ณ ๋ ์ฝ๊ฒ ๊ฒ์ํ๋ ๋ฐ ๋์์ด ๋๋ ์์ฑ์ ์ง์ ํฉ๋๋ค. ์ค์ ์์ ์ด๋ฌํ ์ผ๋ถ ์์ฑ์ ๊ธฐ๋ณธ๊ฐ์ ์ ์ํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์์ฑ ๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
- ์ฌ์ฉ์ ์ ์ ์์ฑ: (์ ํ์ฌํญ) ์ค์ ์์ ์ ์ํ๋ ์์ฑ์ ๋๋ค. ์์ธํ ๋ด์ฉ์ ์์ฑ ๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
- ๋ฑ๋ก์ ํด๋ฆญํฉ๋๋ค.
REST
API๋ฅผ ๋ฑ๋กํ๋ ค๋ฉด Create API REST API๋ฅผ ์ฌ์ฉํฉ๋๋ค.
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{ "display_name": "DISPLAY_NAME", # Required attribute "description": "DESCRIPTION" # description is an optional attribute } 'https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis?api_id=API_ID
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- HUB_PROJECT: API ํ๋ธ ํธ์คํธ ํ๋ก์ ํธ์ ์ด๋ฆ. ์ด ํธ์คํธ ํ๋ก์ ํธ๋ API ํ๋ธ๊ฐ ํ๋ก๋น์ ๋๋์์ ๋ ์ ํ๋์์ต๋๋ค.
- HUB_LOCATION: ํธ์คํธ ํ๋ก์ ํธ์ ์์น. ์ด ์์น๋ API ํ๋ธ๊ฐ ํ๋ก๋น์ ๋๋์์ ๋ ์ ํ๋์์ต๋๋ค.
- API_ID: (์ ํ์ฌํญ) API์ ๊ณ ์ ID๋ฅผ ์ ๋ ฅํฉ๋๋ค. ์ด ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์๋ฅผ ์ ๊ณตํ์ง ์์ผ๋ฉด ์์คํ ์์ ๊ณ ์ ID๋ฅผ ์๋์ผ๋ก ์์ฑํฉ๋๋ค.
- DISPLAY_NAME: (ํ์) API ๋ฆฌ์์ค์ ํ์ ์ด๋ฆ์ ๋๋ค. ์ํ๋ ๋ชจ๋ ์ด๋ฆ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- DESCRIPTION: (์ ํ์ฌํญ) ์ค๋ช , ์์ ์,API ์ฐธ๊ณ ๋ฆฌ์์ค ๋งํฌ ๋ฑ API ๋ฆฌ์์ค๋ฅผ ์ค๋ช ํ๋ ์ฌ๋ฌ ์ ํ์ ์์ฑ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ ํ์ ์์ฑ์ API ๋ฆฌ์์ค ์ ์์ ๋์ด๋๊ณ ์ค๋ช ๋์ด ์์ต๋๋ค.
API ๋ฆฌ์์ค ๋์ด
์ด ์น์ ์์๋ API ํ๋ธ์ API ๋ฆฌ์์ค๋ฅผ ๋์ดํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. ํํฐ๋ฅผ ์ถ๊ฐํ๋ฉด ์๋ต์ ๋ฐํ๋๋ API๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
Console
API ๋ฆฌ์์ค๋ฅผ ๋์ดํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
Google Cloud ์ฝ์์์ API ํ๋ธ์ API ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
API ํ๋ธ๋ก ์ด๋API ํ๋ธ์ ์ถ๊ฐ๋ ๋ชจ๋ API ๋ชฉ๋ก์ API ํํ์ด์ง์ ๋์ด๋ฉ๋๋ค.
- ํํฐ๋ฅผ ์ฌ์ฉํ์ฌ API ๋ชฉ๋ก์ ํํฐ๋งํ ํค์๋๋ฅผ ์ง์ ํฉ๋๋ค. ํ์ํ ๊ฒฝ์ฐ ๊ฒ์์ ์ฌ์ฉํ์ฌ API๋ฅผ ์ฐพ์ต๋๋ค.
REST
API ํ๋ธ ํ๋ก์ ํธ์ ๋ชจ๋ API ๋ฆฌ์์ค๋ฅผ ๋์ดํ๋ ค๋ฉด API ๋์ด API๋ฅผ ์ฌ์ฉํฉ๋๋ค.
curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis" -X GET -H "Authorization: Bearer: $(gcloud auth print-access-token)" -H "Content-Type: application/json"
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- HUB_PROJECT: API ํ๋ธ ํธ์คํธ ํ๋ก์ ํธ์ ์ด๋ฆ. ์ด ํธ์คํธ ํ๋ก์ ํธ๋ API ํ๋ธ๊ฐ ํ๋ก๋น์ ๋๋์์ ๋ ์ ํ๋์์ต๋๋ค.
- HUB_LOCATION: ํธ์คํธ ํ๋ก์ ํธ์ ์์น. ์ด ์์น๋ API ํ๋ธ๊ฐ ํ๋ก๋น์ ๋๋์์ ๋ ์ ํ๋์์ต๋๋ค.
์ํ ์ถ๋ ฅ:
{ "apis": [ { "name": "projects/myproject/locations/us-central1/apis/a035eb3b-658e-467a-89d3-9cca2bbacd32-2", "displayName": "TestApi2", "documentation": {} }, { "name": "projects/myproject/locations/us-central1/apis/a035eb3b-658e-467a-89d3-9cca2bbacd32-1", "displayName": "TestApi1", "documentation": {} }, { "name": "projects/myproject/locations/us-central1/apis/foo9013cfev", "displayName": "sample", "documentation": {} }, { "name": "projects/myproject/locations/us-central1/apis/foo90121", "displayName": "sample", "documentation": {} }, ... ], "nextPageToken": "f4f4d78b-a974-46db-a214-dc139f8e9c8a" }
ํํฐ๊ฐ ํฌํจ๋ REST ์์
API๋ฅผ ์ฌ์ฉํ์ฌ ๋ชฉ๋ก ๊ฒฐ๊ณผ๋ฅผ ํํฐ๋งํ ์ ์์ต๋๋ค. ์ด ์์์์๋ ์์คํ ์ ์ ์์ฑ์ ๊ธฐ๋ฐ์ผ๋ก API๋ฅผ ํํฐ๋งํฉ๋๋ค.
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis' \ -d filter="owner.email=\"testowner3@gmail.com\"" -d page_size=10
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- HUB_PROJECT: API ํ๋ธ ํธ์คํธ ํ๋ก์ ํธ์ ์ด๋ฆ์ ๋๋ค. ์ด ํธ์คํธ ํ๋ก์ ํธ๋ API ํ๋ธ๊ฐ ํ๋ก๋น์ ๋๋์์ ๋ ์ ํ๋์์ต๋๋ค.
- HUB_LOCATION: ํธ์คํธ ํ๋ก์ ํธ์ ์์น์ ๋๋ค. ์ด ์์น๋ API ํ๋ธ๊ฐ ํ๋ก๋น์ ๋๋์์ ๋ ์ ํ๋์์ต๋๋ค.
์์ ์๋ณ๋ก ํํฐ๋ง๋ ์ํ ์ถ๋ ฅ:
{ "apis": [ { "name": "projects/myproject/locations/us-central1/apis/theme-park-management-api", "displayName": "Theme Park Management API", "documentation": {} }, { "name": "projects/myproject/locations/us-central1/apis/restaurant-api", "displayName": "Restaurant API", "documentation": {} }, { "name": "projects/myproject/locations/us-central1/apis/casino-management-api", "displayName": "Casino Management API", "documentation": {} }, { "name": "projects/myproject/locations/us-central1/apis/hotel-boooking-api", "displayName": "Hotel Booking API", "documentation": {} }, { "name": "projects/myproject/locations/us-central1/apis/test-march-26-api3", "displayName": "Test Pets API", "documentation": {} }, { "name": "projects/myproject/locations/us-central1/apis/test-march-26-api2", "displayName": "Test Pets API", "documentation": {} }, { "name": "projects/myproject/locations/us-central1/apis/test-march-26-api1", "displayName": "Test Pets API", "documentation": {} } ] }
API ๋ฆฌ์์ค ์ธ๋ถ์ ๋ณด ํ์ธ
์ด ์น์ ์์๋ API ๋ฆฌ์์ค์ ๋ํ ์ธ๋ถ์ ๋ณด๋ฅผ ํ์ธํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
Console
API ๋ฆฌ์์ค์ ์ธ๋ถ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
Google Cloud ์ฝ์์์ API ํ๋ธ์ API ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
API ํ๋ธ๋ก ์ด๋- ํํฐ๋ฅผ ์ฌ์ฉํ์ฌ API ๋ชฉ๋ก์ ํํฐ๋งํ ํค์๋๋ฅผ ์ง์ ํฉ๋๋ค. ํ์ํ ๊ฒฝ์ฐ ๊ฒ์์ ์ฌ์ฉํ์ฌ API๋ฅผ ์ฐพ์ต๋๋ค.
- API๋ฅผ ํด๋ฆญํ์ฌ ์ธ๋ถ์ ๋ณด ํ์ด์ง๋ฅผ ๋ด ๋๋ค.
REST
API ๋ฆฌ์์ค์ ์ธ๋ถ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ฉด Get API resource details API๋ฅผ ์ฌ์ฉํฉ๋๋ค.
curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis/API_ID" -H "Authorization: Bearer: $(gcloud auth print-access-token)" -X GET -H "Content-Type: application/json"
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- HUB_PROJECT: API ํ๋ธ ํธ์คํธ ํ๋ก์ ํธ์ ์ด๋ฆ์ ๋๋ค. ์ด ํธ์คํธ ํ๋ก์ ํธ๋ API ํ๋ธ๊ฐ ํ๋ก๋น์ ๋๋์์ ๋ ์ ํ๋์์ต๋๋ค.
- HUB_LOCATION: ํธ์คํธ ํ๋ก์ ํธ์ ์์น์ ๋๋ค. ์ด ์์น๋ API ํ๋ธ๊ฐ ํ๋ก๋น์ ๋๋์์ ๋ ์ ํ๋์์ต๋๋ค.
- API_ID: API ๋ฆฌ์์ค์ ๊ณ ์ ID์ ๋๋ค.
์ํ ์ถ๋ ฅ:
{ "name": "projects/myproject/locations/us-central1/apis/myapi", "displayName": "My Test API", "description": "This is a test API.", "documentation": {}, "owner": { "displayName": "Test API, "email": "testowner@gmail.com" }, "versions": [ "projects/myproject/locations/us-central1/apis/myapi/versions/myapi-version1" ], "createTime": "2024-03-26T10:13:15.668867002Z", "updateTime": "2024-03-26T10:13:16.700716401Z" }
API ๋ฆฌ์์ค ์ญ์
์ด ์น์ ์์๋ API ๋ฆฌ์์ค๋ฅผ ์ญ์ ํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
Console
UI์์ API๋ฅผ ์ญ์ ํ๋ฉด API์ ๊ธฐ๋ณธ ๋ฒ์ ๊ณผ ๊ด๋ จ API ์ฌ์(์๋ ๊ฒฝ์ฐ)์ด ๋ชจ๋ ์ญ์ ๋ฉ๋๋ค.
API ๋ฆฌ์์ค๋ฅผ ์ญ์ ํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
Google Cloud ์ฝ์์์ API ํ๋ธ์ API ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
API ํ๋ธ๋ก ์ด๋- ํํฐ๋ฅผ ์ฌ์ฉํ์ฌ API ๋ชฉ๋ก์ ํํฐ๋งํ ํค์๋๋ฅผ ์ง์ ํฉ๋๋ค. ํ์ํ ๊ฒฝ์ฐ ๊ฒ์์ ์ฌ์ฉํ์ฌ ์ญ์ ํ API๋ฅผ ์ฐพ์ต๋๋ค.
- ์์ ๋ฉ๋ด(API๊ฐ ํฌํจ๋ ํ์ ์ค๋ฅธ์ชฝ)์์ ์ญ์ ๋ฅผ ํด๋ฆญํฉ๋๋ค.
REST
API ํ๋ธ์์ API๋ฅผ ์ญ์ ํ๋ ค๋ฉด Delete API API๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๊ธฐ๋ณธ ๋ฒ์ ์ด ์ญ์ ๋ ๊ฒฝ์ฐ์๋ง API๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค. API ์๋์ ๋ชจ๋ ๋ฒ์ ์ ํ ๋ฒ์ ์ญ์ ํ๋ ค๋ฉด Delete REST API์์ force
์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์๋ฅผ true
๋ก ์ค์ ํฉ๋๋ค.
curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis/API_ID'
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- HUB_PROJECT: API ํ๋ธ ํธ์คํธ ํ๋ก์ ํธ์ ์ด๋ฆ. ์ด ํธ์คํธ ํ๋ก์ ํธ๋ API ํ๋ธ๊ฐ ํ๋ก๋น์ ๋๋์์ ๋ ์ ํ๋์์ต๋๋ค.
- HUB_LOCATION: ํธ์คํธ ํ๋ก์ ํธ์ ์์น. ์ด ์์น๋ API ํ๋ธ๊ฐ ํ๋ก๋น์ ๋๋์์ ๋ ์ ํ๋์์ต๋๋ค.
- API_ID: ์ญ์ ํ API ๋ฆฌ์์ค์ ๊ณ ์ ID์ ๋๋ค.
API์ ๋ชจ๋ ๊ธฐ๋ณธ ๋ฒ์ ์ ์ญ์ ํ๋ ค๋ฉด force
์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ๋ฅผ true
๋ก ์ค์ ํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis/API_ID?force=true'
API ๋ฆฌ์์ค ์์
์ด ์น์ ์์๋ API ๋ฆฌ์์ค๋ฅผ ์์ ํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. ๋ชจ๋ API ๋ฆฌ์์ค ์์ฑ์ ์์ ํ ์ ์๋ ๊ฒ์ ์๋๋๋ค. ์์ ๊ฐ๋ฅํ ์์ฑ ๋ชฉ๋ก์ Patch API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
Console
API๋ฅผ ์์ ํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
Google Cloud ์ฝ์์์ API ํ๋ธ์ API ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
API ํ๋ธ๋ก ์ด๋- ํํฐ๋ฅผ ์ฌ์ฉํ์ฌ API ๋ชฉ๋ก์ ํํฐ๋งํ ํค์๋๋ฅผ ์ง์ ํฉ๋๋ค. ํ์ํ ๊ฒฝ์ฐ ๊ฒ์์ ์ฌ์ฉํ์ฌ ์์ ํ API๋ฅผ ์ฐพ์ต๋๋ค.
- API๋ฅผ ํด๋ฆญํ์ฌ ์ธ๋ถ์ ๋ณด ํ์ด์ง๋ฅผ ๋ด ๋๋ค.
- API ์์ ์ ํด๋ฆญํฉ๋๋ค.
- API ์์ ํ์ด์ง์์ ๋ณ๊ฒฝํฉ๋๋ค. ๊ณ์์ ํด๋ฆญํ์ฌ ์์ ๊ฐ๋ฅํ ๋ค์ ์์ฑ ์ธํธ๋ก ์ด๋ํฉ๋๋ค.
- ์ผ๋ฐ ์ธ๋ถ์ ๋ณด: API์ ํ์ ์ด๋ฆ์ ์์ ํ ์ ์์ต๋๋ค.
- ์์ ์ ์ ๋ณด: API ์์ ์์ ์ด๋ฆ ๋ฐ ์ด๋ฉ์ผ ์ฃผ์์ ๋๋ค.
- ์ถ๊ฐ ์ธ๋ถ์ ๋ณด: ์์คํ ์ ์ ์์ฑ์ ๋๋ค. ์์ฑ ๊ด๋ฆฌ์์ ์ด๋ฌํ ์์ฑ์ ์ปค์คํ ๊ธฐ๋ณธ๊ฐ์ ์ง์ ํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์ ์ ์ ์์ฑ: ์ฌ์ฉ์ ์ ์ ์ปค์คํ ์์ฑ์ ๋๋ค. ์์ฑ ๊ด๋ฆฌ์์ ์ปค์คํ ์์ฑ์ ์ง์ ํ ์ ์์ต๋๋ค.
- ์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
REST
API ๋ฆฌ์์ค๋ฅผ ์์ ํ๋ ค๋ฉด Patch API resource API๋ฅผ ์ฌ์ฉํฉ๋๋ค.
curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{ "display_name": "Updated Test Docs API", # Example request body with changes "description": "This is the updated test API.", "owner": { "display_name": "Updated Docs Owner", "email": "updateddocsowner@gmail.com" } } ' https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis/API_ID
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- HUB_PROJECT: API ํ๋ธ ํธ์คํธ ํ๋ก์ ํธ์ ์ด๋ฆ์ ๋๋ค. ์ด ํธ์คํธ ํ๋ก์ ํธ๋ API ํ๋ธ๊ฐ ํ๋ก๋น์ ๋๋์์ ๋ ์ ํ๋์์ต๋๋ค.
- HUB_LOCATION: ํธ์คํธ ํ๋ก์ ํธ์ ์์น์ ๋๋ค. ์ด ์์น๋ API ํ๋ธ๊ฐ ํ๋ก๋น์ ๋๋์์ ๋ ์ ํ๋์์ต๋๋ค.
- API_ID: ์ ๋ฐ์ดํธํ API์ ๊ณ ์ ID์ ๋๋ค.
- ์์ฒญ ๋ณธ๋ฌธ: ์์ฒญ ๋ณธ๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝํ ์์ฑ์ ์ง์ ํฉ๋๋ค. API ์์ฒญ ๋ณธ๋ฌธ ์ค๋ช ์ ์ฐธ์กฐํ์ธ์.