网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
企业路由器 ER
企业交换机 ESW
全球加速 GA
企业连接 EC
云原生应用网络 ANC
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
威胁检测服务 MTD
态势感知 SA
认证测试中心 CTC
边缘安全 EdgeSec
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
API网关 APIG
分布式缓存服务 DCS
多活高可用服务 MAS
事件网格 EG
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
配置审计 Config
应用身份管理服务 OneAccess
资源访问管理 RAM
组织 Organizations
资源编排服务 RFS
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
解决方案
高性能计算 HPC
SAP
混合云灾备
开天工业工作台 MIW
Haydn解决方案工厂
数字化诊断治理专家服务
云生态
云商店
合作伙伴中心
华为云开发者学堂
华为云慧通差旅
开发与运维
软件开发生产线 CodeArts
需求管理 CodeArts Req
流水线 CodeArts Pipeline
代码检查 CodeArts Check
编译构建 CodeArts Build
部署 CodeArts Deploy
测试计划 CodeArts TestPlan
制品仓库 CodeArts Artifact
移动应用测试 MobileAPPTest
CodeArts IDE Online
开源镜像站 Mirrors
性能测试 CodeArts PerfTest
应用管理与运维平台 ServiceStage
云应用引擎 CAE
开源治理服务 CodeArts Governance
华为云Astro轻应用
CodeArts IDE
Astro工作流 AstroFlow
代码托管 CodeArts Repo
漏洞管理服务 CodeArts Inspector
联接 CodeArtsLink
软件建模 CodeArts Modeling
Astro企业应用 AstroPro
CodeArts盘古助手
华为云Astro大屏应用
计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
云手机服务器 CPH
专属主机 DeH
弹性伸缩 AS
镜像服务 IMS
函数工作流 FunctionGraph
云耀云服务器(旧版)
VR云渲游平台 CVR
Huawei Cloud EulerOS
云化数据中心 CloudDC
网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
企业路由器 ER
企业交换机 ESW
全球加速 GA
企业连接 EC
云原生应用网络 ANC
CDN与智能边缘
内容分发网络 CDN
智能边缘云 IEC
智能边缘平台 IEF
CloudPond云服务
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
威胁检测服务 MTD
态势感知 SA
认证测试中心 CTC
边缘安全 EdgeSec
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
可信智能计算服务 TICS
推荐系统 RES
云搜索服务 CSS
数据可视化 DLV
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
湖仓构建 LakeFormation
智能数据洞察 DataArts Insight
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
API网关 APIG
分布式缓存服务 DCS
多活高可用服务 MAS
事件网格 EG
开天aPaaS
应用平台 AppStage
开天企业工作台 MSSE
开天集成工作台 MSSI
API中心 API Hub
云消息服务 KooMessage
交换数据空间 EDS
云地图服务 KooMap
云手机服务 KooPhone
组织成员账号 OrgID
云空间服务 KooDrive
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
配置审计 Config
应用身份管理服务 OneAccess
资源访问管理 RAM
组织 Organizations
资源编排服务 RFS
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
区块链
区块链服务 BCS
数字资产链 DAC
华为云区块链引擎服务 HBS
解决方案
高性能计算 HPC
SAP
混合云灾备
开天工业工作台 MIW
Haydn解决方案工厂
数字化诊断治理专家服务
价格
成本优化最佳实践
专属云商业逻辑
云生态
云商店
合作伙伴中心
华为云开发者学堂
华为云慧通差旅
其他
管理控制台
消息中心
产品价格详情
系统权限
客户关联华为云合作伙伴须知
公共问题
宽限期保留期
奖励推广计划
活动
云服务信任体系能力说明
开发与运维
软件开发生产线 CodeArts
需求管理 CodeArts Req
流水线 CodeArts Pipeline
代码检查 CodeArts Check
编译构建 CodeArts Build
部署 CodeArts Deploy
测试计划 CodeArts TestPlan
制品仓库 CodeArts Artifact
移动应用测试 MobileAPPTest
CodeArts IDE Online
开源镜像站 Mirrors
性能测试 CodeArts PerfTest
应用管理与运维平台 ServiceStage
云应用引擎 CAE
开源治理服务 CodeArts Governance
华为云Astro轻应用
CodeArts IDE
Astro工作流 AstroFlow
代码托管 CodeArts Repo
漏洞管理服务 CodeArts Inspector
联接 CodeArtsLink
软件建模 CodeArts Modeling
Astro企业应用 AstroPro
CodeArts盘古助手
华为云Astro大屏应用
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
存储容灾服务 SDRS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
云存储网关 CSG
专属分布式存储服务 DSS
数据工坊 DWR
地图数据 MapDS
键值存储服务 KVS
容器
云容器引擎 CCE
云容器实例 CCI
容器镜像服务 SWR
云原生服务中心 OSC
应用服务网格 ASM
华为云UCS
数据库
云数据库 RDS
数据复制服务 DRS
文档数据库服务 DDS
分布式数据库中间件 DDM
云数据库 GaussDB
云数据库 GeminiDB
数据管理服务 DAS
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
AI开发平台ModelArts
华为HiLens
图引擎服务 GES
图像识别 Image
文字识别 OCR
自然语言处理 NLP
内容审核 Moderation
图像搜索 ImageSearch
医疗智能体 EIHealth
企业级AI应用开发专业套件 ModelArts Pro
人脸识别服务 FRS
对话机器人服务 CBS
语音交互服务 SIS
人证核身服务 IVS
视频智能分析服务 VIAS
城市智能体
自动驾驶云服务 Octopus
盘古大模型 PanguLargeModels
IoT物联网
设备接入 IoTDA
全球SIM联接 GSL
IoT数据分析 IoTA
路网数字化服务 DRIS
IoT边缘 IoTEdge
设备发放 IoTDP
企业应用
域名注册服务 Domains
云解析服务 DNS
企业门户 EWP
ICP备案
商标注册
华为云WeLink
华为云会议 Meeting
隐私保护通话 PrivateNumber
语音通话 VoiceCall
消息&短信 MSGSMS
云管理网络
SD-WAN 云服务
边缘数据中心管理 EDCM
云桌面 Workspace
应用与数据集成平台 ROMA Connect
ROMA资产中心 ROMA Exchange
API全生命周期管理 ROMA API
政企自服务管理 ESM
视频
实时音视频 SparkRTC
视频直播 Live
视频点播 VOD
媒体处理 MPC
视频接入服务 VIS
数字内容生产线 MetaStudio
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
专属云
专属计算集群 DCC
开发者工具
SDK开发指南
API签名指南
DevStar
华为云命令行工具服务 KooCLI
Huawei Cloud Toolkit
CodeArts API
云化转型
云架构中心
云采用框架
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
客户运营能力
国际站常见问题
支持计划
专业服务
合作伙伴支持计划
我的凭证
华为云公共事业服务云平台
工业软件
工业数字模型驱动引擎
硬件开发工具链平台云服务
工业数据转换引擎云服务

创建API

更新时间:2025-01-22 GMT+08:00
分享

操作场景

API提供者把API接口配置在API网关中,开放后端能力。

创建API主要分为四个步骤:设置基本信息、定义API请求、定义后端服务和定义返回结果。

说明:

API网关服务基于REST的API架构,API的开放和调用需要遵循RESTful相关规范。

前提条件

  • 已创建API分组。如果未创建API分组,可在本操作页面中创建API分组。
  • 如果后端服务需要使用VPC通道,请先创建VPC通道,或在本操作页面中创建VPC通道。

设置基本信息

  1. 进入共享版控制台
  2. 单击“开放API > API管理”,进入到API列表信息页面。
  3. 单击“新建API”,进入“新建API”页面。填写如表1所示信息。

    图1 基本信息
    表1 基本信息

    信息项

    描述

    API名称

    API名称,根据规划自定义。建议您按照一定的命名规则填写API名称,方便您快速识别和查找。

    所属分组

    API所属分组。

    如果尚未创建API分组,单击“新建分组”,为API新创建一个分组。

    网关响应

    网关响应指API网关未能成功处理API请求,从而产生的错误响应。

    API网关提供默认的网关响应(default)。如果您需要自定义响应状态码或网关响应内容,可在API分组管理中新增网关响应,按照您自己的响应内容,符合JSON格式即可。

    类型

    API类型:

    • 公开:选择“公开”类型时,API支持上架。
    • 私有:选择“私有”类型时,当该API所在分组上架时,该API不会上架。

    安全认证

    API认证方式:

    • APP认证:表示由API网关服务负责接口请求的安全认证。
    • 华为IAM认证:表示借助IAM服务进行安全认证。
    • 自定义认证:用户有自己的认证系统或服务(如使用OAuth认证),可选择“自定义认证”。
    • 无认证:表示不需要认证。

    各种认证方式下的API调用稍有不同,具体请参考调用API

    推荐使用APP认证方式。

    须知:
    • 认证方式为华为IAM认证时,任何API网关租户均可以访问此API,可能存在恶意刷流量,导致过量计费的风险。
    • 认证方式为无认证时,任何公网用户均可以访问此API,可能存在恶意刷流量,导致过量计费的风险。
    • 认证方式为自定义认证时,需要在函数工作流服务中写一段函数,对接用户自己的认证系统或服务。如果当前Region没有上线函数工作流服务,则不支持自定义认证。

    支持简易认证

    仅当“安全认证”选择“APP认证”时可配置

    简易认证指APP认证方式下调用API时,在HTTP请求头部消息增加一个参数X-Apig-AppCode,而不需要对请求内容签名,API网关也仅校验AppCode,不校验请求签名,从而实现快速响应。

    注意仅支持HTTPS方式调用,不支持HTTP方式。具体使用请参考为简易认证添加AppCode

    说明:

    如果首次创建API未开启简易认证,那么之后开启简易认证,需要重新发布API。请参考发布API发布。

    自定义认证

    “安全认证”选择“自定义认证”时需要配置

    自定义认证需要提前创建,可单击右侧的“新建自定义认证”链接创建。

    标签

    标签主要用于对API添加分类属性,方便在创建了大量API后,快速过滤和查找。

    描述

    API的描述。

  4. 单击“下一步”,进入“定义API请求”页面。

定义API请求

  1. 在“定义API请求”页面,填写如表2所示信息。

    图2 定义API请求
    表2 定义API请求

    信息项

    描述

    域名

    系统默认分配的一个子域名。

    请求协议

    分为三种类型:

    • HTTP
    • HTTPS
    • HTTP&HTTPS

    传输重要或敏感数据时推荐使用HTTPS

    API网关支持WebSocket数据传输,请求协议中的HTTP相当于WebSocket的ws,HTTPS相当于WebSocket的wss。

    请求Path

    接口请求的路径。

    格式如:/users/{userId}/projects

    • {}中的变量为请求参数,表示匹配"/"之间的一整段,不支持匹配"/"之间的一部分,例如/abc{userId}。如果匹配模式为绝对匹配,则尾部的请求参数可以添加“+”号,例如/users/{p+},其中变量p匹配1或多段"/"之间的部分。
    • 请求Path中包含请求参数时,必须设置对应的入参定义。
    • 内容区分大小写。

    匹配模式

    分为两种模式:

    • 绝对匹配:调用的请求Path固定为创建时填写的API请求Path。
    • 前缀匹配:调用的请求Path将以创建时填写的API请求Path为前缀,支持接口定义多个不同Path。

      例如,请求路径为/test/AA,使用前缀匹配时,通过/test/AA/CC可以访问,但是通过/test/AACC无法访问。

    说明:
    • 匹配url时,优先进行绝对匹配,再进行前缀匹配,前缀匹配短的优先级最低。

      例如,请求路径为/a/b/c,使用绝对匹配;请求路径为/a和/a/b,使用前缀匹配。匹配url的顺序为/a/b/c > /a/b > /a。

    • 使用前缀匹配时,匹配剩余的路径将透传到后端。

      例如,使用前缀匹配,前端请求路径定义为/test/,后端请求路径定义为/test2/,通过/test/AA/CC访问API,则后端收到的请求url为/test2/AA/CC。

    Method

    接口调用方式:GET、POST、DELETE、PUT、PATCH、HEAD、OPTIONS、ANY

    • 其中ANY表示该API支持任意请求方法。
    • 当“Method”为“POST”/“PUT”/“PATCH”/“ANY”时,您可以在“请求体内容描述”中增加对于请求体的描述信息。

    支持跨域(CORS)

    是否开启跨域访问CORS(cross-origin resource sharing)。

    CORS允许浏览器向跨域服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。

    CORS请求分为两类:

    • 简单请求:头信息之中,增加一个Origin字段。
    • 非简单请求:在正式通信之前,增加一次HTTP查询请求。

    开启CORS(非简单请求)时,您需要单独创建一个“Method”为“OPTIONS”的API,具体步骤请参见开启跨域访问

    请求体内容描述

    仅当“请求方法”选择“POST”、“PUT”、“PATCH”或“ANY”时可配置

    填写API请求中请求体的描述信息,用于帮助API调用者理解如何正确封装API请求。

  2. (可选)设置入参定义。

    入参定义是指您调用API时,需要传入的参数的说明。
    1. 单击“添加入参定义”,弹出“添加入参定义”对话框。
    2. 输入如表3所示信息。
      表3 入参定义

      信息项

      描述

      参数名

      参数的名称,如果参数在“PATH”位置,那么参数名称需要和“请求Path”中的名称相同。

      说明:
      • 参数名不能是x-apig- 、x-sdk-开头,不区分大小写。
      • 参数名不能是x-stage,不区分大小写。
      • 参数位置为HEADER时,参数名不能是“Authorization”和“X-Auth-Token”,不区分大小写,也不支持下划线。

      参数位置

      选择参数在请求中的位置。参数位置有如下三种:PATH、HEADER、QUERY。

      说明:

      当您定义了PATH中的参数时,该参数需要在“请求Path”中同步定义。

      类型

      字段的类型,包含STRING和NUMBER。

      说明:

      入参如果为boolean,请选择STRING。

      必填

      请求API时,此参数是否为必填。如果选择“是”,API网关将校验请求中是否包含此参数,如果不包含,则拒绝该请求。

      透传

      请求参数是否透传到后端服务。

      默认值

      “必填”为“否”时,默认值生效。请求中不包含此参数时,API网关自动增加默认值发送给后端服务。

      枚举

      请求参数的枚举值,请求参数的值只能从枚举值中选择,多个枚举值间用英文逗号隔开。

      最小长度

      参数值的最小长度,仅允许输入数字。

      最大长度

      参数值的最大长度,仅允许输入数字。

      示例

      参数值的填写示例。

      描述

      对于此参数的描述。

    3. 单击“确定”,完成入参定义的设置。

  3. 单击“下一步”,进入“定义后端服务”页面。

定义后端服务

API网关支持定义多个策略后端,即满足一定条件后转发给指定的API后端服务,用以满足不同的调用场景。例如为了区分普通调用与特殊调用,可以定义一个“策略后端”,通过调用方的源IP地址,为特殊调用方分配专用的后端服务。

除了定义一个默认的API后端服务,一个API共可以定义5个策略后端。

  1. 定义默认后端。

    添加策略后端前必须定义一个默认后端,当不满足任何一个策略后端的API请求,都将转发到默认的API后端。

    在“定义后端服务”页面,选择API后端服务类型。

    后端服务类型参数描述见表4表5表6

    表4 HTTP/HTTPS类型定义后端服务

    服务参数

    参数说明

    协议

    HTTP或HTTPS,定义的后端服务协议须与用户的后端业务协议保持一致。

    说明:
    • API网关支持WebSocket数据传输,请求协议中的HTTP相当于WebSocket的ws,HTTPS相当于WebSocket的wss。
    • 传输重要或敏感数据时推荐使用HTTPS。

    请求方式

    接口调用方式,包括GET、POST、DELETE、PUT、PATCH、HEAD、OPTIONS、ANY。

    其中ANY表示该API支持任意请求方法。

    使用VPC通道

    是否使用VPC通道访问后端服务。

    • 如果使用VPC通道,选择已创建的VPC通道名称。

      VPC通道中,云服务器的安全组必须允许100.125.0.0/16网段访问,否则将导致健康检查失败及业务不通。

    • 如果不使用VPC通道,需要设置后端服务地址。

      填写后端服务的访问地址,格式:“主机:端口”。主机为后端服务的访问IP地址/域名,未指定端口时,HTTP协议默认使用80端口,HTTPS协议默认使用443端口。

      如果后端服务地址中需要携带环境变量,则使用“#变量名#”的形式将环境变量添加到后端服务地址中,如#ipaddress#。支持添加多个环境变量,如#ipaddress##test#。

    自定义host头域(可选)

    仅当“使用VPC通道”选择“使用”时可配置

    在请求被发送到VPC通道中主机前,允许您自定义请求的Host头域,默认将使用请求中原始的Host头域。

    后端请求Path

    后端服务的路径,即服务的uri,可以包含路径参数,以{路径参数}形式表示,比如/getUserInfo/{userId}。

    如果请求路径中含有环境变量,则使用#变量名#的方式将环境变量定义到请求路径中,如/#path#。支持创建多个环境变量,如/#path##request#。

    后端超时

    后端服务请求的超时时间,可填写范围1ms~60000ms。

    如果在API调试过程中,遇到后端响应超时之类的错误,请适当调大后端超时时间,以便排查原因。

    后端认证

    当您的后端服务需要对API调用增加自己的认证,则需要开启后端认证。

    后端认证需要先添加一个自定义认证,自定义认证通过函数工作流服务实现,在函数工作流服务中编写一个函数,实现您的认证鉴权流程,或者使用函数调用您的统一鉴权服务。

    说明:

    后端认证依赖函数工作流服务,此功能仅在部分区域开放。

    表5 FunctionGraph类型定义后端服务

    服务参数

    参数说明

    FunctionURN

    函数请求唯一标识。

    单击“添加”,添加所需的FunctionURN。

    版本或别名

    支持选择函数的版本或别名,函数的版本或别名功能请参考《函数工作流 FunctionGraph用户指南》的“版本管理”和“别名管理”章节。

    调用类型

    • Synchronous:同步调用。指后端函数工作流服务收到调用请求后立即执行并返回调用结果,客户端发送请求后同步等待,收到后端响应后关闭连接。
    • Asynchronous:异步调用。客户端不关注请求调用的结果,服务端收到请求后将请求排队,排队成功后请求就返回,服务端在空闲的情况下会逐个处理排队的请求。

    后端超时

    参考表4中的后端超时。

    后端认证

    参考表4中的后端认证。

    表6 Mock类型定义后端服务

    服务参数

    参数说明

    Mock自定义返回码

    选择API响应的HTTP状态码,如果当前实例不支持,请联系技术支持升级实例。

    Mock返回结果

    Mock一般用于开发调试验证。在项目初始阶段,后端服务没有搭建好API联调环境,可以使用Mock模式,将预期结果固定返回给API调用方,方便调用方进行项目开发。

    后端认证

    参考表4中的后端认证。

    请求头参数

    自定义API响应的响应头信息。

    单击“添加header参数”,并填写参数名、参数值和参数描述。

    说明:
    • 如果“后端请求Path”中设置了环境变量,在API调试页面将无法调试API。
    • 如果“后端请求Path”中设置了环境变量,则必须在待发布环境上配置变量名和变量值,否则变量无法赋值,API将无法正常调用。
    • 环境变量名严格区分大小写。

  2. (可选)添加后端策略。

    添加多个后端策略后,通过不同的策略条件,请求被转发到不同的后端服务中。

    1. 单击“添加策略后端”。
    2. 策略后端增加的参数,具体如表7所示,其他参数说明参见表4
      图3 添加后端策略
      表7 后端策略参数

      信息项

      描述

      后端策略名称

      您自定义的名称,用于识别不同的后端策略。

      生效方式

      • 满足任一条件:只要满足策略条件中的任意一项,此后端策略就可以生效。
      • 满足全部条件:只有满足所有的策略条件,此后端策略才生效。

      策略条件

      使后端策略生效的条件,具体如表8所示。

      表8 策略条件

      信息项

      描述

      条件来源

      • 源地址:以访问API的请求地址作为策略条件来源。
      • 请求入参:以请求入参参数作为策略条件来源。
      须知:

      选择“请求入参”作为策略条件时,入参需要在API前端请求中配置好,如在Header中添加一个参数。

      参数名称

      • 当“条件来源”为“请求入参”时,需要设置。选择已创建的入参参数名称。

      参数位置

      仅在“条件来源”为“请求入参”时,展示请求入参的参数位置。

      条件类型

      仅在“条件来源”为“请求入参”时,需要设置。

      • 相等:请求参数值必须为输入值时,条件成立。
      • 枚举:请求参数值只需要和枚举值中任何一个值相同,条件成立。
      • 匹配:请求参数值只需要和正则表达式中任何一个值相同,条件成立。

      条件值

      • “条件类型”为“相等”时,输入一个值。
      • “条件类型”为“枚举”时,输入多个值,以英文逗号隔开。
      • “条件类型”为“匹配”时,输入一个范围,例如:[0-5]。
      • “条件来源”为“源地址”时,输入一个或多个IP地址,以英文逗号隔开。

  3. (可选)配置后端服务参数。

    将调用API时传入的参数映射到后端服务对应的位置。

    1. 在“后端服务参数”右侧单击,通过以下任意一种方法配置后端服务参数。
      • 单击“导入入参定义”,系统自动添加已创建的所有入参参数。
      • 单击“添加后端参数映射”,按照需求添加您所需要的后端参数映射。
    2. 根据后端服务实际的参数名称和参数位置修改映射关系,如图4所示。
      图4 后端服务参数配置
      1. 参数在“PATH”位置,那么参数名称需要和“后端请求Path”中的名称相同。
      2. 调用API的请求参数名称、位置可以与后端参数名称、位置不同。
        说明:
        • 参数名不能是x-apig- 、x-sdk-开头,不区分大小写。
        • 参数名不能是x-stage,不区分大小写。
        • 参数位置为HEADER时,参数名不区分大小写,也不支持下划线。
      3. 如上图,test01和test03在调用API时分别配置于PATH和QUERY位置,后端服务通过映射,将在HEADER位置接收test01和test03的值。test02在调用API时配置于HEADER位置,后端服务通过映射,将在PATH位置以参数名test05来接收test02的值。

        例如,test01为abc,test02为def,test03为xyz。

        调用API请求:

        curl -ik -H 'test02:def' -X GET https://www.example01.com/v1.0/abc?test03=xyz

        后端服务请求:

        curl -ik -H 'test01:abc' -H 'test03:xyz' -X GET https://www.example02.com/v1.0/def

  4. (可选)设置常量参数。

    如果后端服务需要接收API调用者不可见的常量,可以通过设置常量参数来实现。API网关在请求后端服务时,将常量参数增加到指定请求位置,并将请求发送给后端服务。

    须知:

    常量参数会明文展示,为防止信息泄露,请谨慎配置。

    1. 在“常量参数”右边单击,显示常量参数列表。
    2. 单击“添加常量参数”,输入如表9所示信息。
      图5 添加常量参数
      表9 常量参数

      信息项

      描述

      常量参数名

      常量参数的名称,如果参数在“PATH”位置,那么参数名称需要和“后端请求Path”中的名称相同。

      说明:
      • 参数名不能是x-apig- 、x-sdk-开头,不区分大小写。
      • 参数名不能是x-stage,不区分大小写。
      • 参数位置为HEADER时,参数名不区分大小写,也不支持下划线。

      参数位置

      选择参数在请求中的位置。

      参数位置有如下三种:PATH、QUERY、HEADER

      参数值

      输入参数的值。

      描述

      对于此常量参数的描述。

      说明:
      • API网关将包含常量参数的请求发送给后端服务前,会对特殊参数值进行百分号编码,请确保后端服务支持百分号编码。例如,参数值[apig],在百分号编码后变为%5Bapig%5D
      • “PATH”位置的参数值会对如下字符进行百分号编码:ASCII码为0到31的字符、?、>、<、/、%、#、"、[、\、]、^、`、{、|、}、空白符、ASCII码为127到255的字符。
      • “QUERY”位置的参数值会对如下字符进行百分号编码:ASCII码为0到31的字符、>、=、<、+、&、%、#、"、[、\、]、^、`、{、|、}、空白符、ASCII码为127到255的字符。

  5. (可选)设置系统参数。

    系统参数指API网关服务处理API请求时的系统运行时参数信息,包括网关内置参数、前端认证参数、后端认证参数等,API的后端服务获取到这些信息,可以用于做一些辅助性的访问控制或提供自定义认证能力。
    1. 在“系统参数”右边单击,显示系统参数列表。
    2. 单击“添加系统参数”,输入如表10所示信息。
      图6 添加系统参数
      表10 系统参数

      信息项

      描述

      系统参数类型

      • 网关内置参数:API网关支持配置的参数。
      • 前端认证参数:前端自定义认证返回结果中的参数。在基本信息中,使用“自定义认证”后,才可以选择此参数类型。
      • 后端认证参数:后端自定义认证返回结果中的参数。在定义后端服务中,开启“后端认证”后,才可以选择此参数类型。

      系统参数名称

      • “系统参数类型”为“网关内置参数”时,支持选择如下参数:
        • sourceIp:API调用者的源地址。
        • stage:API调用的部署环境。
        • apiId:API的ID。
        • appId:API调用者的APP ID。
        • requestId:当次调用API所生成的请求ID。
        • serverAddr:网关服务器的地址 。
        • serverName:网关服务器的名称。
        • handleTime:本次调用API的处理时间。
        • providerAppId:API提供者的应用ID。
      • “系统参数类型”为“前端认证参数”/“后端认证参数”时,此参数名称必须和自定义认证函数返回结果中的参数名称一致。

      后端参数名称

      将系统参数映射到后端参数中。设置需要映射的后端参数名称。

      说明:
      • 参数名不能为x-apig- 、x-sdk-开头,不区分大小写。
      • 参数名不能是x-stage,不区分大小写。
      • 参数位置为HEADER时,参数名不支持下划线且名称重复时不区分大小写。

      后端参数位置

      设置需要映射的后端参数位置。

      描述

      对于此系统参数的描述。

  6. 单击“下一步”,进入“返回结果基础定义”页面。

定义返回结果

  1. 在“返回结果基础定义”页面,填写如表11所示信息。

    表11 定义返回结果

    信息项

    描述

    成功响应示例

    成功调用API时,返回的响应信息示例。

    失败响应示例

    调用API失败时,返回的响应信息示例。

  2. 单击“完成”,完成API的创建。

    API创建完成后,在API列表页面单击API名称,查看API详细信息。

后续操作

您创建完API后,通过调试API,验证服务是否正常。

提示

您即将访问非华为云网站,请注意账号财产安全

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容