sdk for java
SDK只依赖了三个jar包
- okhttp.jar 用于网络请求
- fastjson.jar 用于json处理
- commons-logging.jar 日志处理
- 中央仓库获取JAR
<dependency>
<groupId>com.jumper-health</groupId>
<artifactId>jumper-open-sdk</artifactId>
<version>1.0.5-RELEASE</version>
</dependency>
- Gradle
implementation 'com.jumper-health:jumper-open-sdk:1.0.5-RELEASE'
- 基于源码 Meavn 打包构建
1、下载或克隆 `jumper-open-sdk`
2、进入项目 `jumper-open-sdk` 目录
3、安装依赖 `mvn install`
4、打包 `mvn clean package`
- 运行环境
Java版本 8+
请前往 开发者后台 注册用户 -> 获取 Appkey、Secret
比如获取故事信息接口
- 接口名:alipay.story.find
- 版本号:1.0.0
- 参数:name 故事名称
- 返回信息
{
"alipay_story_find_response": {
"msg": "Success",
"code": "10000",
"name": "白雪公主",
"id": 1,
"gmtCreate": 1554193987378
},
"sign": "xxxxx"
}
针对这个接口,封装步骤如下:
1.在model
包下新建一个类,定义业务参数
@Data
public class GetStoryModel {
@JSONField(name = "name")
private String name;
}
2.在response
包下新建一个返回类GetStoryResponse,继承BaseResponse
里面填写返回的字段
@Data
public class GetStoryResponse extends BaseResponse {
private Long id;
private String name;
private Date gmtCreate;
}
3.在request
包下新建一个请求类,继承BaseRequest
BaseRequest中有个泛型参数,填GetStoryResponse
类,表示这个请求对应的返回类。
重写method()
方法,填接口名。
如果要指定版本号,可重写version()
方法,或者后续使用request.setVersion(version)
进行设置
public class GetStoryRequest extends BaseRequest<GetStoryResponse> {
@Override
protected String method() {
return "alipay.story.find";
}
}
String url = "http://localhost:8081";
String appId = "2019032617262200001";
String privateKey = "你的私钥";
String publicKeyPlatform ="开放平台提供的公钥"
// 声明一个就行
OpenClient client = new OpenClient(url, appId, privateKeyIsv, publicKeyPlatform);
// 标准用法
@Test
public void testGet() {
// 创建请求对象 需封装自己需要的方法
GetStoryRequest request = new GetStoryRequest();
// 请求参数
GetStoryModel model = new GetStoryModel();
model.setName("白雪公主");
request.setBizModel(model);
// 发送请求
GetStoryResponse response = client.execute(request);
if (response.isSuccess()) {
// 返回结果
System.out.println(response);
} else {
System.out.println(response);
}
}
如果不想添加Request,Response,Model。可以用这种方式,返回body部分是字符串,后续自己处理
body对应的是test001_response部分
@Test
public void testLazy() {
// 创建请求对象
CommonRequest request = new CommonRequest("test001");
// 请求参数
Map<String, Object> bizModel = new HashMap<>();
bizModel.put("name", "白雪公主");
bizModel.put("id", "111");
bizModel.put("remark", "xx");
request.setVersion("1.0.1");
request.setBizModel(bizModel);
request.setRequestMethod(RequestMethod.POST);
// 发送请求
CommonResponse response = client.execute(request);
if (response.isSuccess()) {
// 返回结果,body对应的是test001_response部分
String body = response.getBody();
JSONObject jsonObject = JSON.parseObject(body);
System.out.println(jsonObject);
} else {
System.out.println(response);
}
}