阿里云API网关调用API方式

API的调用是通过授权给应用的方式进行,授权是指授予某个应用调用某个API的权限,应用在获得API的授权之后才能调用API。在创建API的时候,可以选择无认证方式开放API和APP认证方式开放API,两种调用方法如下。

Header参数项

是否必填项

注解

X-Apig-Key

API授权的应用的APPkey值

X-Apig-Stage

API授权的环境

X-Apig-Mode

如果是API调试,参数填写debug,如果是API调用,该字段不填

APP认证调用API步骤1:打开postman,输入API的调用地址+请求path,

Header参数项

是否必填项

注解

X-Apig-Key

API授权的应用的APPkey值

X-Apig-Stage

API授权的环境

X-Apig-Mode

如果是API调试,参数值为debug,如果是API调用,该字段不填

X-Apig-Signature-Headers

所有参与签名算法的参数名称的集合,使用英文逗号分隔,由用户指定,可以为空

X-Apig-Signature-Method

APP认证使用的加密算法,取值为HmacSHA256或者HmacSHA1

Content-MD5

如果API为post和put请求,且有body参数,该字段为必填项,是该body的md5值

X-Apig-Signature

通过APP认证算法加密后的字段

如果API为post或者body请求,且存在body参数,Content-MD5字段必须传入,字段值为body的md5加密后的值。
Jar包引入方式:
SDK jar包:APIG-SIGN-SDK.zip
<dependency>
<groupId>com.chinamobile.apig</groupId>
<artifactId>apig-sign-sdk</artifactId>
<version>0.0.1</version>
<scope>system</scope>
<systemPath>path/apig-sign-sdk-0.0.1.jar</systemPath>
</dependency>
API调用请求头X-Apig-Signature计算方法如下:
com.chinamobile.cmss.sign. SignHelper.sign
public static String sign(String secret,String method,String path,Map<String, String> headers,Map<String, String> queries,String body)

参数名称

说明

secret

APP密钥

method

http请求方法(可选值GET,PUT, POST, DELETE)

path

请求路径(url去除http://ip:port/**/openapi后的部分)

headers

请求头, 参考调用请求Headers参数

queries

请求参数

body

请求体

API调用请求头Content-MD5计算方法如下:

public static String buildBodyMd5(String httpMethod, String body)

参数名称

说明

httpMethod

http请求方法(GET, PUT, POST, DELETE)

body

请求体