如何创建API网关?

 
0 17
午夜里的布娃娃
2019-12-02 10:05

835f9997ef96a8b39f549102.png

今天这篇文章中,我们来演示一下在API网关创建一个API。

因为通常都是多个API协调来完成一个功能,所以在API的概念之上,还有一个API分组的概念。在API网关要录入一个API,首先要创建一个API分组。

d3c8ba0be364a91c1db5ac8e.png

来到API网关的控制台,找到分组管理页面,选择一个合适的区域(最好和您的后端服务在同一个区域),点击创建分组。

da9d1437567cc3be6e1c4ba6.png

比如就叫TestGroup,简单写一下名字和描述就可以了。点击确定。

3dac02e654a6c35f04d9526d.png

系统提示分组创建成功了,然后这上面还有一些关于二级域名的提示。这里我们先不作介绍,后面会有文章专门针对域名这一块进行介绍。

分组就创建成功以后,接下来就去创建API。

9a29d69f333007133ab5ec6d.png

点击API列表页面,点击创建API。

af36565f849c221495eb35da.png

可以看到这里已经帮我们选好了默认分组,就是我们刚刚创建的分组。

94be53603fa38e30788accc9.png

这里可以先看一下创建API的四个步骤:

第一个是基本信息。

基本信息就是接口名称和简单的描述这些。

第二个是定义API请求。

定义API请求,一般习惯是前段定义,就是从客户端到API网关这一段的请求结构定义。

第三步是定义API后端服务。

定义API后端服务,通常是指API网关到后端服务的请求结构。

第四步是定义返回结果。

先将上面的基本信息定义,也就是API名称以及简单的描述填写好。这里还需要选一下安全认证的方式,阿里云提供了三种认证方式。后面这边会有文章对安全认证方式进行详细的介绍。这里我们就选阿里云APP的认证方式。点击下一步。

cbb52757c7aca2b98c69f861.png

然后我们就进入了第二步定义API请求。首先要选协议,一般是支持HTTP或者HTTPS或两者都支持也可以,我们这里选两个都支持。然后自定义域名和二级域名,关于域名这块接下来也会有文章进行专门的讲解。然后是请求Path,是指从用户到网关这一段请求结构里的Path。这个Path就是服务器的服务地址,也就是URL上的服务地址和Query参数中间的那一部分。

ae8f39f55b8c422fcf607af1.png

比如我们简单的设置为/a/b/

,path是一个动态参数,有的话就需要配上。后面这个报错我们先暂时不用管。它的意思需要我们在下面配上这个path参数,配好之后就不会报这个错误了。然后HTTP Method我们定义为GET,那么它就是GET的API。

基础的这块定义完之后,就要开始入参的定义了。这个是用户请求API的时候需要输入的参数。

0a51ffdd63af22c360114f7b.png

点击增加一条。因为前面还有一个Path动态参数,还有一个错误提示,所以这里我们可以先定义这个Path。

3773cd8b2456190aab62482b.png

比如说它就叫path,因为是GET的参数,所以这里没有Body,正常的其实是有Head、Query、Body三个部分的。这里我们选择Parameter Path,在Path里的这个参数就应该选择这个。类型这里支持这几种,目前还不支持文件类型的参数传输,目前都是用字符流的形式来解决。比如我们选择Int,然后示例值可以是1,描述这里在生成API文档的时候会成为参数描述,这里我们随便填写写一下。

a9920eec483a6104ec014a75.png

后面这个编辑更多,其实是对参数的一些校验。比如说我们之前选的这些参数位置、类型等。然后配置一些枚举值,设置最大值、最小值等。配置了这个校验之后,请求到网关的时候,网关就会先按照你配置的规则来对它进行校验了。如果不符合规则就会被直接打回去,这样就会避免很多无效请求消耗资源。

除了上面这个举例的Path参数以外,还应该添加一些需要的其它参数,这里我们就不一一举例了。

然后我们进入下一步定义API后端服务。

6fc42bec393ae5e5631f98c6.png

VPC通道这里我们暂时写不使用。后端服务地址,注意看这个格式样例,它可以是一个IP带一个端口,也可以是一个域名。后端请求的Path就跟前端的一样,是网关到后端服务这个区域的请求结构里面的Path。这个后端请求的Path可以和前端的不一致,因为网关是支持映射的。Method也是支持映射的。

后端超时时间是指,在您配置的这个时间之内,网关会等待后端的响应。比如配置30000毫秒,就会等待30秒,若在30秒之内后端都没有响应,网关就会报超时错误了。所以建议把这个值设大一点,这里最大就是支持30秒。

最后是Mock,这里我们先不使用Mock。如果设置了Mock,实际请求的时候就会返回Mock的结果,就永远不能调用后端了。

11518860a275375a4fc86645.png

后端服务参数配置主要是对前端参数的一个映射。可以看到右边这部分其实是把前端配置的参数都拉过来了,在后端需要做一个映射。比如前端入参的时候有一个city,对应参数位置是Query,但是在后端这里因为程序已经写好了,可能参数的名字和位置都不一样,那就可以在这里这样做一个映射。那么,当网关在收到这个请求的时候,这个映射就会把请求转到后端相应的位置。

b6b1eeb3b6510a597c219d5c.png

接下来再看一下常量参数和系统参数。

常量参数意思是,比如您的后端一直要接收某一个常量,但是这个常量你又不想让用户看到,那么您就在这里加一个常量参数,网关在接收到请求的时候,会把这个常量参数加上传递到后端。但是对用户来说,这个常量参数是不可见的啊。

系统参数的意思是,网关能够接收到的一些后端可能没有定义的数据。比如请求客户端的IP、域名、请求App的ID等。这些参数您都可以在这里定制,网关就会在请求后端的时候把这个参数传过去。

然后进行最后一步返回结果。

cb01fa236d2596806da28c6f.png

首先定义返回类型,这边支持JSON、文本、二进制、XML、HTML几种返回类型,这里我们还是选择JSON,因为大多数都是JSON。返回结果示例,就是返回的JSON的一段示例代码,您可以在这里写上您的一些注释。失败返回结果示例,是服务报错时返回的结果。您可以在这里说明一下这些错误,让用户明白返回的结果的意思。

然后API就创建成功了,希望这篇文章对您有帮助。

更多详情参见:API 网关

本文内容由互联网用户自发贡献,版权归作者所有,本站不拥有所有权也不承担相关法律责任。如需转载请按以下形式注明来源: 复制

文章来源:阿里云牛优惠资讯网
文章标题:如何创建API网关?
原文地址:https://aliyunnew.com/a/How-to-create-an-API-gateway.html
发布时间:2019-12-02 10:05
相关话题

阿里云是什么

阿里云,阿里巴巴集团旗下云计算品牌,全球卓越的云计算技术和服务提供商。创立于2009年,在杭州、北京、硅谷等地设有研发中心和运营机构。...查看更多

什么是API

Application Programming Interface即应用程序编程接口,后面简称API。API是指一些预先定义的函数,这些函数可用于提供应用程序和开发人员基于某软件或硬件访问一组例程的能力,无需访问源码或理解内部工作机制的细节。Open API即开放的API(开放平台)。OpenAPI...查看更多
猜您喜欢
回帖
  • 抢占沙发~~
本月热门
云客服机器人的词库功能如何使用? 0
云客服中如何发布公告? 0
云客服中如何对词库、图片以及附件进行管理? 0
IVR流程配置中如何配置技能组? 0
如何配置IVR流程? 0
云客服中如何管理公告、机器人以及如何进行拦截? 0
云客服中工作流的服务记录如何查看? 0
云客服中如何配置工作流? 0
API网关在使用中有哪些常见问题? 0
如何设置流量控制? 0