有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
文档中心 > API 网关 > 操作指南 > 创建 API > 创建后端对接域名/IP 的 API

操作场景

该任务指导您通过 API 网关控制台创建后端对接域名/IP 的 API。其中域名支持公网域名且需已备案、IP支持内网IP。

前提条件

已完成 服务创建

操作步骤

步骤1:新建 API

1. 登录 API 网关控制台 ,在左侧导航栏单击服务
2. 在服务列表中,单击目标服务的服务名,查看该服务。
3. 在服务信息中,单击管理 API 标签页。
4. 单击新建,进行后续配置。

步骤2:前端配置

API 的前端配置指提供给外界访问的相关配置,包括下列定义。



前端基础信息配置

API 名称:您创建的 API 的名称,在当前服务内具有唯一性,支持最长60个字符。
API 类型:可选择通用API、微服务API。根据支持的后端类型判断,此处应选择通用API。
前端类型:可支持 HTTP&HTTPS、WS&WSS 两种前端类型。
路径:您可以按需求写入合法 URL 路径。如需要在路径中配置动态参数,请使用 {} 符号,并在其中填入参数名,例如 /user/{userid} 路径,申明了路径中的 userid 参数,此参数同时需要在入参中作为 Path 类型参数进行定义。Query 参数不是必须在 URL 路径中定义的。 路径支持正则表达式方式匹配,路径输入内容以 /user 为例:
=/user:代表精确匹配,当存在多个 API 接口都有 /use r时,优先匹配含有 =/user 的配置的 API 接口。
/user/{id}:代表路径上存在动态参数,当存在多个 API 接口都有 /user 时,优先级第三匹配含有动态参数的配置的 API 接口。
/user:表示完全匹配或前缀匹配的方式访问,访问时 /user/usertest/user/test/a 都可以访问到 /user 路径的 API 接口。
请求方法:可选择 GET、POST、PUT、DELETE、HEAD 、ANY方法。
鉴权类型:支持 免认证应用认证OAuth 2.0EIAM认证密钥对认证 鉴权类型。
支持 CORS:用于配置跨域资源共享(CORS),开启后将默认在响应头中添加 Access-Control-Allow-Origin : *

前端参数配置

入参:入参包含了来源于 Header、Query、Path 的参数。其中 Path 参数对应于在 URL 路径中定义的动态参数。任一参数,均需要指定参数名,参数类型和参数数据类型;同时可以指明是否必填、默认值、示例数据和描述说明。利用这些配置,API 网关可以协助您完成入参的文档化和初步校验。
说明:
请求协议为 HTTPS 时,需要请求中携带 SNI 标识,为了保障请求安全,API 网关会拒绝不携带 SNI 标识的请求。
SNI(Server Name Indication)是 TLS 的一个扩展协议,用于解决一个服务器拥有多个域名的情况,在 TLSv1.2 开始得到协议的支持。之前的 SSL 握手信息中没有携带客户端要访问的目标地址,如果一台服务器有多个虚拟主机,且每个主机的域名不一样,使用了不一样的证书,此时会无法判断返回哪一个证书给客户端,SNI 通过在 Client Hello 中补上 Host 信息解决该问题。

步骤3:后端配置对接域名/IP

API 的后端配置,是指的实际提供真实服务的配置。API 网关会将前端请求,依据后端配置进行转换后,转发调用到实际的服务上。 当您的业务部署在其他云,或者本地服务器用域名/ IP 开放时,后端选用域名/ IP 对接。
配置说明:
1. 后端类型:后端类型选择域名/IP时,表示后端服务通过。
2. 后端域名:以http://https://开头,不包括后面的路径,必须输入公网已备案域名、内网IP,不支持公网IP。例如http://api.myservice.com(已完成备案)http://192.168.1.1
3. 后端路径:以/开头,如/path/path/{petid}
4. 请求方法:前后端选择的请求方法可以不一致。
5. 设置后端超时时间:超时时间的最大限制为30分钟。在 API 网关调用后端服务,未在此时间内获得响应时,API 网关将终止此次调用,并返回相应的错误信息。
6. 常量参数:设置映射前端的后端参数、参数值。
7. 单击下一步,配置响应结果。




步骤4:响应配置

API 响应配置:包括 API 响应数据配置和 API 错误码配置。
API 响应数据配置:用于指明返回数据类型,包括成功调用的数据示例和失败调用的数据示例。
API 的错误码定义:用于指明额外的错误码、错误信息和描述。
说明:
目前 API 网关对于响应结果不做处理,直接透传给请求者。在生成 SDK 文档时,填写的响应示例也会一并展示在文档中,它将会更好的帮助使用者理解接口含义。