依赖并未提交到maven**仓库,建议使用者clone代码修改之后deploy到自己公司的私服
<dependency>
<groupId>com.wacai</groupId>
<artifactId>wacai-open-sdk</artifactId>
<version>${version}</version>
</dependency>
- okhttp3 用于在http层面做通信
- slf4j-api 日志接口
- fastjson/jackson 用于序列化&反序列化
- commons-codes 签名字节数组的base64处理
- WacaiOpenApiClient 核心类,用于对API网关发起调用的Client
- WacaiOpenApiRequest API网关请求报文的封装类
- WacaiOpenApiResponse API网关响应报文的封装类
WacaiOpenApiClient wacaiOpenApiClient = new WacaiOpenApiClient("${appKey}", "${appSecret}");
wacaiOpenApiClient.init();
WacaiOpenApiRequest wacaiOpenApiRequest = new WacaiOpenApiRequest("wacai.order.delete", "v2");
wacaiOpenApiRequest.putBizParam("card_id", "34121141242144");
wacaiOpenApiRequest.putBizParam("apply_money", 10);
OrderDeleteResponseObject wacaiOpenApiResponse = wacaiOpenApiClient.invoke(wacaiOpenApiRequest, new TypeReference<OrderDeleteResponseObject>() {});
同步接口在异常返回时会抛出 WacaiOpenApiResponseException 异常,里边可以获取响应的错误码和详细的错误信息
wacaiOpenApiClient.invoke(wacaiOpenApiRequest, new TypeReference<OrderDeleteResponseObject>() {}, new WacaiOpenApiResponseCallback<OrderDeleteResponseObject>() {
@Override
public void onSuccess(OrderDeleteResponseObject data){
log.error("success {}", data);
}
@Override
public void onFailure(WacaiOpenApiResponseException ex) {
log.error("failure {}", ex);
}
});