5 数据服务调用规范(HTTPS)
5.1调用说明
API调用有几个必备参数,都是需提前获取到的,除调用入口地址外,还包括AppKey、AppSecret、Access Token(或SessionKey)。AppKey、Appsecret 在创建应用时就可获得;而Access Token则用通过client_credentials方式取得;
在取得这些数据后方能进行API 调用,获取相应的用户数据。应用只能调用生成token时分配服务的权限。
其中token获取方式我们已在sdk中封装:token有效期12小时.
http://url/auth/oauth/token?client_id=5477
&client_secret=11b4becefa6076175e3d624a00d8afb9
&grant_type=client_credentials
返回结果示例
{"access_token":"cb6f9752-f191-4767-abdf-cd426dedd2b3","token_type":"bearer","exp
ires_in":35787}
5.2如何调用
http://url/auth/api/xxx/xxx/1.0?name=''& identityCardNum =''&access_token=''
Post方式
//服务上下文(服务地址)
String context = "/xxx/xxx ";
//服务版本号
String version = "1.0";
RequestParams openServiceParam = new RequestParams(); openServiceParam.setContext(context); openServiceParam.setVersion(version);
//以下三个参数设置为必须
openServiceParam.addParam("name","乔X");//必填参数
openServiceParam.addParam("identityCardNum","'37250119XXX011155'");//必填参数
openServiceParam.addParam("access_token ","cb6f9752-f191-4767-abdf-cd426dedd2b3");//必填参数
//服务调用返回结果
String resultValue = client.sendRequest(openServiceParam);
//转移服务结果
ObjectMapper mapper = new ObjectMapper();
Map jasonObject = (Map)mapper.readValue(resultValue, Map.class); String status = (String)jasonObject.get("status");
//解析服务返回结果
if ("success".equals(status)||StringUtils.isEmpty(status)) {//服务调用成功
//输出结果System.out.println(jasonObject.get("result"));
}else{
System.out.println(jasonObject.get("error"));
}
5.3返回结果示例
成功:
result={value=[{GRBSM=G3701032xx112xxxxxx, XM= 李xx, SFZJH=
3701032xx112xxxxxx
,
CCZT=查重无问题, XX_JBXX_ID=7D44E3113BEB4A38AEB0B14BD0E4xxxx, XX_NJXX_ID=小学 6 年级}],
@odata.context=/service/manager/metadata/RDB/f441d73371804e0d90ee898b73bcaaff
/SDC/ZXXS
失败:
{"result":"{error=执行服务出错, context=/aichengshi/xjcx, error_description=建立连接出错,(url:netty://172.16.143.20:10090/com.inspur.idap.bds.manager.api.IDataServiceExec uteService?client=netty), version=1.0}","status":"99999"}