本页面适用于 Apigee 和 Apigee Hybrid。
注册 API
向 API Hub 注册 API 时,您将创建一个表示 API 的实体并进行存储。我们将此实体称为 API 资源。存储在 API Hub 中的 API 资源可搜索,并可提供有关 API 的详细操作和说明信息。无论是在注册 API 时还是之后,您都可以添加和修改 API 资源属性以构建丰富的 API 说明。
控制台
如需注册 API,请执行以下操作:
在 Google Cloud 控制台中,前往 API Hub 中的 API 页面。
转到 API Hub- 点击注册 API。
在一般详细信息下,视需要指定 API 的唯一 ID。如果您未提供 ID,则系统会为您生成一个 ID。如果您想输入 ID,请点击 Specify Unique 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 Hub 宿主项目的名称。预配 API Hub 时选择了宿主项目。
- HUB_LOCATION:宿主项目的位置。该位置是在预配 API Hub 时选择的。
- 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 Hub 中的 API 资源。通过添加过滤条件,您可以限制响应中返回的 API。
控制台
如需列出 API 资源,请执行以下操作:
在 Google Cloud 控制台中,前往 API Hub 中的 API 页面。
转到 API HubAPI 首页上列出了添加到 API Hub 的所有 API 的列表。
- 使用过滤条件指定关键字以过滤 API 列表。如果需要,请使用搜索查找 API。
REST
如需列出 API Hub 项目中的所有 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 Hub 宿主项目的名称。预配 API Hub 时选择了宿主项目。
- HUB_LOCATION:宿主项目的位置。该位置是在预配 API Hub 时选择的。
示例输出:
{ "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 Hub 宿主项目的名称。预配 API Hub 时选择了宿主项目。
- HUB_LOCATION:宿主项目的位置。该位置是在预配 API Hub 时选择的。
按所有者过滤的示例输出:
{ "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 资源的详细信息。
控制台
如需查看 API 资源的详细信息,请执行以下操作:
在 Google Cloud 控制台中,前往 API Hub 中的 API 页面。
转到 API Hub- 使用过滤条件指定关键字以过滤 API 列表。如果需要,请使用搜索查找 API。
- 点击某个 API 以查看其详情页面。
REST
如需查看 API 资源的详细信息,请使用获取 API 资源详细信息 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 Hub 宿主项目的名称。预配 API Hub 时选择了宿主项目。
- HUB_LOCATION:宿主项目的位置。该位置是在预配 API Hub 时选择的。
- 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 资源。
控制台
当您在界面中删除 API 时,该 API 的所有底层版本和关联的 API 规范(如果有)都会被删除。
如需删除 API 资源,请执行以下操作:
在 Google Cloud 控制台中,前往 API Hub 中的 API 页面。
转到 API Hub- 使用过滤条件指定关键字以过滤 API 列表。如果需要,请使用搜索查找要删除的 API。
- 在操作菜单(API 所在行的右侧)中,点击删除。
REST
如需从 API Hub 中删除 API,请使用删除 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 Hub 宿主项目的名称。预配 API Hub 时选择了宿主项目。
- HUB_LOCATION:宿主项目的位置。该位置是在预配 API Hub 时选择的。
- 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 资源属性都可以修改。如需查看可修改的属性列表,请参阅修补 API 参考文档。
控制台
如需修改 API,请执行以下操作:
在 Google Cloud 控制台中,前往 API Hub 中的 API 页面。
转到 API Hub- 使用过滤条件指定关键字以过滤 API 列表。如果需要,请使用搜索查找要修改的 API。
- 点击某个 API 以查看其详情页面。
- 点击修改 API。
- 在修改 API 页面上进行更改。点击继续以前往下一组可修改的属性。
- 点击保存。
REST
如需修改 API 资源,请使用 Patch API 资源 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 Hub 宿主项目的名称。预配 API Hub 时选择了宿主项目。
- HUB_LOCATION:宿主项目的位置。该位置是在预配 API Hub 时选择的。
- API_ID:要更新的 API 的唯一 ID。
- 请求正文:使用请求正文指定要更改的属性。请参阅 API 请求正文说明。