이 페이지는 Apigee 및 Apigee Hybrid에 적용됩니다.
API 등록
API 허브에 API를 등록하면 API를 나타내는 항목을 만들고 저장합니다. 이 항목을 API 리소스라고 합니다. API 허브에 저장된 API 리소스를 검색할 수 있으며 API에 대한 자세한 운영 및 설명 정보를 제공합니다. API를 등록할 때 또는 이후에 API 리소스 속성을 추가하고 수정하여 API에 대한 풍부한 설명을 작성할 수 있습니다.
Console
API를 등록하려면 다음 안내를 따르세요.
Google Cloud 콘솔에서 Apigee API 허브의 API 페이지로 이동합니다.
API 허브로 이동- API 등록을 클릭합니다.
일반 세부정보에서 API의 고유 ID를 지정합니다(선택사항). ID를 제공하지 않으면 시스템에서 ID를 자동으로 생성합니다. ID를 입력하려면 고유 ID 지정을 클릭합니다.
ID는 4~500자(영문 기준)여야 하며 유효한 문자는
/[A-Z][a-z][0-9]-/.
입니다. ID는 정규화된 고유 API 리소스 이름의 마지막 구성요소이며projects/PROJECT/locations/LOCATION/apis/API_ID
형식입니다.- (필수) 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를 자동으로 생성합니다.
ID는 4~500자(영문 기준)여야 하며 유효한 문자는
/[A-Z][a-z][0-9]-/.
입니다. ID는 정규화된 고유 API 리소스 이름의 마지막 구성요소이며projects/PROJECT/locations/LOCATION/apis/API_ID
형식입니다. - DISPLAY_NAME: (필수) API 리소스의 표시 이름입니다. 원하는 모든 이름을 사용할 수 있습니다.
- DESCRIPTION: (선택사항) 설명, 소유자,API 참고 리소스 링크 등 API 리소스를 설명하는 여러 선택적 속성을 추가할 수 있습니다. 이러한 선택적 속성은 API 리소스 정의에 나열되고 설명되어 있습니다.
API 리소스 나열
이 섹션에서는 API 허브의 API 리소스를 나열하는 방법을 설명합니다. 필터를 추가하면 응답에서 반환되는 API를 제한할 수 있습니다.
Console
API 리소스를 나열하려면 다음 안내를 따르세요.
Google Cloud 콘솔에서 Apigee 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 콘솔에서 Apigee 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
API 리소스를 삭제하려면 다음 안내를 따르세요.
Google Cloud 콘솔에서 Apigee API 허브의 API 페이지로 이동합니다.
API 허브로 이동- 필터를 사용하여 API 목록을 필터링할 키워드를 지정합니다. 필요한 경우 검색을 사용하여 삭제할 API를 찾습니다.
- 작업 메뉴(API가 포함된 행의 오른쪽)에서 삭제를 클릭합니다.
REST
API 허브에서 API를 삭제하려면 Delete API API를 사용합니다.
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 리소스 수정
이 섹션에서는 API 리소스를 수정하는 방법을 설명합니다. 모든 API 리소스 속성을 수정할 수 있는 것은 아닙니다. 수정 가능한 속성 목록은 Patch API 참고 문서를 확인하세요.
Console
API를 수정하려면 다음 안내를 따르세요.
Google Cloud 콘솔에서 Apigee 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 요청 본문 설명을 참조하세요.