API网关服务调用方用户指南

如何调用一个API

1、创建应用

点击“应用管理菜单”:

appList.png



addApp.png



调用方需要先在网关平台创建一个应用,创建时只需要填入应用名称,名称的限定条件:只能使用英文字符或数字,长度在100以内。

2、获得授权

由服务提供方在网关平台上搜索应用名称,并进行授权。

3、调用API

网关平台提供的SDK(基于JDK8)封装了加密、签名等操作,使用者只需传入相应的参数即可。
1、SDK的获取:
在maven pom.xml文件中加入以下内容

<dependency>
    <groupId>com.sunlands.gateway</groupId>
    <artifactId>apigateway-sdk</artifactId>
    <version>1.3-SNAPSHOT</version>
</dependency>

2、通过SDK发起调用请求
首先通过Builder构造出KongClient

KongClient kongClient = new KongClient.Builder()
    .kongUrl(<kong base url>)
    .appKey(<appKey>)
    .appSecret(<appSecret>)
    .build();
<kong base url>: 网关平台服务地址的基础部分,测试环境地址:http://api-test.sunlands.com
<appKey>、<appSecret>: 在管理界面创建好应用之后,可以在其详情页面看到appKey、appSecret
除了这里的必须参数外,builder还提供了以下方法用于配置KongClient参数:
maxConnections():客户端与网关服务器之间连接池最大连接数,缺省值为100
keepAliveDuration(): 客户端与网关服务器之间连接池中连接的保持时间,以毫秒为单位,缺省值为600000
connectTimeout(): 客户端与网关服务器之间的连接超时时间,以毫秒为单位,缺省值60000
readTimeout(): 客户端从网关服务器读取数据(接收响应)超时时间,以毫秒为单位,缺省值10000
writeTimeout(): 客户端向网关服务器发送数据超时时间,以毫秒为单位,缺省值10000

然后可以通过KongClient调用其get、XXXForm、XXXTextBody等方法,其中“XXX”与HTTP method对应如post、put、delete等。其中XXXForm系列的方法会以Form表单方发起请求,XXXTextBody系列的方法会以text body(mediaType为application/json)方式发起请求。如下所示:

String textBody = "{\"id\": 1,\"name\":\"尚德\"}";
Response response = kongClient.postTextBody(<API uri>, textBody);
<API uri>值为:/{API分组名}/{API请求PATH}
注意这里的response有isSuccessful、code、body等方法,用于判断请求状态、读取响应码、读取响应体等。使用完Response后,要记得调用close方法释放资源!!!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • 博客原文 在nginx官网的blog中,作者Chris Richardson关于微服务的文章有七篇:1. Intr...
    rabbitGYK阅读 2,756评论 2 37
  • 编者的话|本文来自 Nginx 官方博客,是微服务系列文章的第二篇,本文将探讨:微服务架构是如何影响客户端到服务端...
    广州秀才阅读 939评论 1 4
  • 十月初刚到非洲的一所中学时,正值当地旱季,雨水不多。烈日炎炎下,所有的植物几乎都在这滚烫干燥的空气中顽强地活...
    艾恩AE阅读 377评论 0 0
  • 一个阿伯来敲门,拿了张一百块给我爸。这样的一百块已经领了一年多,因为阿伯一般在我们去上班的时候拿过来,所以我隐约只...
    娜豆阅读 2,563评论 1 2