Amazon API Gateway
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

设置 Swagger basePath 属性

在 Swagger 中,您可以使用 basePath 属性来提供路径属性中定义的每个路径之前的一个或多个路径部分。因为 API Gateway 具有多种表达资源路径的方式,所以导入 API 功能可以提供三个选项用于解释导入过程中的 basePath 属性:

ignore

如果 Swagger 文件的 basePath 值为 /a/b/cpaths 属性包含 /e/f,则以下 POST 或 PUT 请求:

POST /restapis?mode=import&basepath=ignore
PUT /restapis/api_id?basepath=ignore

将在 API 中生成以下资源:

  • /

  • /环

  • /f

效果是将 basePath 视为不存在,所有声明的 API 资源均相对于主机提供。例如,如果您有一个自定义域名,其 API 映射不包含 Base Path 和表示生产阶段的 Stage 值,则可以使用这一选项。

注意

API Gateway 将自动为您创建一个根资源,即使该资源未在定义文件中明确声明。

如未指定,basePathignore 为默认值。

prepend

如果 Swagger 文件的 basePath 值为 /a/b/cpaths 属性包含 /e/f,则以下 POST 或 PUT 请求:

POST /restapis?mode=import&basepath=prepend
PUT /restapis/api_id?basepath=prepend

将在 API 中生成以下资源:

  • /

  • /a

  • /a/b

  • /a/b/c

  • /a/b/c/e

  • /a/b/c/f

效果是将 basePath 视为指定其他资源 (不含方法) 并将这些资源添加到声明的资源组中。例如,如果不同的团队负责一个 API 的不同部分且 basePath 可以为每个团队所负责 API 部分引用路径位置,则可以使用这一选项。

注意

API Gateway 将自动为您创建中间资源,即使这些资源未在定义中明确声明。

split

如果 Swagger 文件的 basePath 值为 /a/b/cpaths 属性包含 /e/f,则以下 POST 或 PUT 请求:

POST /restapis?mode=import&basepath=split
PUT /restapis/api_id?basepath=split

将在 API 中生成以下资源:

  • /

  • /b

  • /b/c

  • /b/c/e

  • /b/c/f

效果是将最顶层的路径部分 "/a" 视为每个资源路径的开始,并在 API 自身内创建其他资源 (不含方法)。例如,如果 "a" 是一个您想在 API 中使用的阶段名称,则可以使用这一选项。

本页内容: