以下过程将指导您完成在API网关控制台中创建API,使用签名密钥的方式授权并进行API调用的过程。
(1)新建API:点击“新建API”按钮,在详情页配置API的“名称”、“子路径”、“查询参数”、“请求体格式”和“正常返回格式”后,点击确定,由此成功新建一个API。如果需要生成SDK,则需要定义请求体格式和正常返回格式。如果不需要SDK,请求体格式和正常返回格式部分留空即可。
(2)导入API:点击导入API,上传符合swagger2.0规范的yaml文件,点击确定,API列表界面会显示yaml文件中设定的API。(Yaml文件下载地址)
至此,在API网关控制台的界面操作已经完成,接下来可以对API进行调用。
package net.jdcloud.PetStore;
import com.jdcloud.sdk.auth.CredentialsProvider;
import com.jdcloud.sdk.auth.StaticCredentialsProvider;
import com.jdcloud.sdk.client.Environment;
import com.jdcloud.sdk.http.HttpRequestConfig;
import com.jdcloud.sdk.http.Protocol;
import net.jdcloud.PetStore.client.PetStoreClient;
import net.jdcloud.PetStore.model.*;
import java.math.BigDecimal;
/**
* Demo
*/
public class Demo {
private static String accessKeyId = "";
private static String secretKey = "";
private static CredentialsProvider credentialsProvider = new StaticCredentialsProvider(accessKeyId, secretKey);
private static PetStoreClient client = PetStoreClient.builder()
.credentialsProvider(credentialsProvider)
.httpRequestConfig(new HttpRequestConfig.Builder().connectionTimeout(10000).protocol(Protocol.HTTPS).build())
// .environment(new Environment.Builder().endpoint("xue0ivjzhif3-test.cn-north-1.jdcloud-api.net").build()) // 测试环境地址
// .environment(new Environment.Builder().endpoint("xue0ivjzhif3-preview.cn-north-1.jdcloud-api.net").build()) // 预发环境地址
.environment(new Environment.Builder().endpoint("xue0ivjzhif3.cn-north-1.jdcloud-api.net").build()) // 线上环境地址
.build();
public static void main (String[ ] args){
GetPetInfoRequest getPetInfoRequest = new GetPetInfoRequest();
getPetInfoRequest.setPetId(1);
GetPetInfoResponse getPetInfoResponse = client.getPetInfo(getPetInfoRequest);
System.out.println(getPetInfoResponse.getResult());
CreatePetRequest createPetRequest = new CreatePetRequest();
net.jdcloud.PetStore.model.createpet.Body createpetBody = new net.jdcloud.PetStore.model.createpet.Body();
createpetBody.setId(1);
createpetBody.setPrice(BigDecimal.valueOf(12.3));
createpetBody.setType("cat");
createPetRequest.setBody(createpetBody);
CreatePetResponse createPetResponse = client.createPet(createPetRequest);
System.out.println(createPetResponse.getResult());
}
}
# coding=utf-8
from jdcloud_apim_sdk.core.credential import Credential
from jdcloud_apim_sdk.core.config import Config
from jdcloud_apim_sdk.core.const import SCHEME_HTTPS, SCHEME_HTTP
from client.PetStore_client import *
from apis.get_pet_info_request import *
from apis.create_pet_request import *
from apis.test_function_request import *
if __name__ == "__main__":
access_key = ''
secret_key = ''
credential = Credential(access_key, secret_key)
# config = Config('xueki79b37y4-test.cn-north-1.jdcloud-api.net', scheme=SCHEME_HTTPS) # 测试环境地址
# config = Config('xueki79b37y4-preview.cn-north-1.jdcloud-api.net', scheme=SCHEME_HTTPS) # 预发环境地址
config = Config('xueki79b37y4.cn-north-1.jdcloud-api.net', scheme=SCHEME_HTTPS) # 线上环境地址
client = PetStoreClient(credential, config)
parameters = dict()
body = ''
header = dict()
get_pet_info_request = GetPetInfoRequest(parameters= {"petId": 1}, body=body, header=header)
GetPetInfo_response = client.send(get_pet_info_request)
print(GetPetInfo_response)
create_pet_request = CreatePetRequest(parameters=parameters, body={"id":1, "price": 12, "type": "cat"}, header=header)
CreatePet_response = client.send(create_pet_request)
print(CreatePet_response)