阅读665 返回首页    go iPhone_iPad_Mac_手机_平板_苹果apple


API创建__使用手册(开放API)_API 网关-阿里云

创建API

创建API即在API网关录入API的定义。您需要定义API的基本信息、服务信息、请求信息、返回信息。

  • 网关支持您配置对入参的预校验规则,让网关成为您后端服务的第一道关卡。
  • 网关支持您配置前端和后端的全映射,即参数混排。如您可以让您的用户在Query传入参数,但是您后端从Header里接收,等等。以满足您需要将服务包装变形输出。
  • 网关支持您配置常量参数、系统参数,这些参数对您的用户不可见,但是网关可以在中转时将常量参数、系统参数加入请求中,传递至后端服务,满足您后端的一些业务需求。比如您需要网关每次向您发送请求都带有一个keyword“aligateway”,您就可以把“aligateway”配置为常量参数,并指定接收的位置。

定义请求的基本信息

API基本信息包括API分组、API名称、安全认证方式、API类型、描述。

1.API创建时需要选择分组。分组是API的管理单元,创建API之前您需要先创建分组(API分组的详细说明见“API开放”部分),选择分组即选择Region。

2.安全认证方式:是API请求的认证方式,目前支持“阿里云APP”、“OpenID Connect”和“无认证”三种认证方式。

    A. 阿里云APP:认证方式即要求请求者调用该API时能够通过对APP的身份认证。
    B. OpenID Connect:是一套基于 OAuth 2.0 协议的轻量级规范,提供通过RESTful APIs进行身份交互的框架。可以使用OpenID Connect和您的自有账号系统无缝对接,详细介绍请参照《OpenID Connect》
    C. 无认证:认证方式即任何人知晓该API的请求定义后,均可发起请求,网关不对其做身份验证,均会转发至您后端服务。

3.API类型分为公开和私有两种。“私有”类型的API,当所在分组上架云市场时,默认不包括该类型的API。如果有用户想要调用您的API,您需要主动操作授权,否则用户无渠道获取API信息。“公开”类型的API,所有用户均有机会在“发现API”页面看到API的部分信息。“公开”类型的API都会跟API分组上架到云市场,供用户购买和调用。

定义API请求

这部分是定义用户如何请求您的API,包括协议、method、path、入参的定义。

  1. 协议及method。API调用支持HTTP/HTTPS协议。Method方法可选择PUT、GET、POST、DELETE、HEAD。
  2. Path。Path指相对于服务host,API的请求路径。请求Path可以与后端服务实际Path不同,您可以随意撰写合法的有明确语义的Path给用户使用。您可以在请求Path中配置动态参数,即要求用户在Path中传入参数,同时您的后端又可以不在Path中接收,可以映射为在Query、Header等位置接收。在《开放API接入API网关》中,有详细的举例说明,更有清晰的截图展示。
  3. 入参。定义您API的请求入参,即配置用户需要在什么位置传入什么参数。可选位置有Head、Query、Body、Path(Parameter Path),尤其当您在Path中配置了动态参数,那么在入参配置时需要对动态参数做配置说明。支持的参数类型有 String、Number、Boolean。
  4. 参数校验规则。每个入参后可点击“编辑更多”配置校验规则。如String的长度,Number的枚举等等。网关会参照校验规则对请求做初步校验,如果入参不合法,则不会到达您的后端服务,大大的降低了后端服务的压力。

定义后端服务信息

这部分主要是定义一些参数的前后端映射,具体描述的是您后端真实服务的API配置。用户请求到达网关后,网关会根据您的后端配置映射为对应实际后端服务的请求形式,去请求您的后端。包括后端服务地址、后端Path、后端超时时间、参数映射、常量参数、系统参数。

  1. 后端服务地址。后端服务的host,可以是一个域名,也可以是 http(s)://host:port 的形式。
  2. 后端Path。Path是您的API服务在您后端服务器上的请求路径,实际请求路径。若您后端Path需要接收动态参数,那么需要声明该参数是调用者从哪个位置哪个参数传入的,即声明映射关系。
  3. 后端超时时间。指API请求到达网关后,网关去调API后端服务的响应时间。由网关请求后端开始到网关收到后端返回结果。该值不能超过30秒。超过该值网关会放弃请求后端服务,并给用户返回相应的错误信息。
  4. 参数映射。网关支持参数在前端、后端的全映射,包括名称映射和位置映射。位置映射包括Path、Header、Query、Body的混排映射。也就是说,您可以将您的后端服务通过映射完成包装成更规范、更专业的API形态。这部分就是在声明前后端API映射关系的。在《开放API接入API网关》中,有详细的举例说明,更有清晰的截图展示。【注意前后端参数名称不能重复】
  5. 常量参数。比如您需要网关每次请求您后端时都带有标记“apigateway”,那么您可以直接将标记配置为常量参数。常量参数对您的用户不可见,请求达到网关后,网关会自动在指定位置加上该参数再去请求您的后端。
  6. 系统参数。指API网关的系统参数,这些参数默认不会传递给您,但是如果您需要获取,您可以在API里配置接收位置和名称。具体内容如下表:

    参数名称 参数含义
    CaClientIp 发送请求的客户端IP
    CaDomain 发送请求的域名
    CaRequestHandleTime 请求时间(格林威治时间)
    CaAppId 请求的APP的ID
    CaRequestId RequestId
    CaApiName API名称
    CaHttpSchema 用户调用API使用的协议,http或者https
    CaProxy 代理(AliCloudApiGateway)

注意:您所有录入的参数,包括Path中的动态参数、Headers参数、Query参数、Body参数(非二进制)、常量参数、系统参数,参数名称保证全局唯一。即如果您同时在Headers和Query里各有一个名为“name”的参数,是不允许的。

完成以上定义后,您就完成了API的创建。下一步您可以发布、测试并开放API服务到市场,还可以为API绑定签名密钥和流量控制等安全配置。

最后更新:2016-12-02 17:38:09

  上一篇:go API调用示例__快速入门(调用API)_API 网关-阿里云
  下一篇:go API开放__使用手册(开放API)_API 网关-阿里云