| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 调用海康接口 基础数据平台 Get请求 |
| | | * |
| | | * @param apiUrl 接口地址: |
| | | * @param params 请求参数 |
| | | * @param resultType 响应结果接收类 |
| | | * @return 调用结果 |
| | | */ |
| | | public static <T> List<T> sendGetAPI(String host,String appKey,String appSecret,String apiUrl, BaseParam params, Class<T> resultType) { |
| | | // STEP1:设置平台参数,根据实际情况,设置host appkey appsecret 三个参数. |
| | | ArtemisConfig.host = host; // 平台的ip端口 |
| | | ArtemisConfig.appKey = appKey; // 密钥appkey |
| | | ArtemisConfig.appSecret = appSecret;// 密钥appSecret |
| | | |
| | | // STEP2:设置OpenAPI接口的上下文 |
| | | final String ARTEMIS_PATH = "/artemis/aaoo"; |
| | | |
| | | // STEP3:设置接口的URI地址 |
| | | final String previewURLsApi = ARTEMIS_PATH + apiUrl; |
| | | Map<String, String> path = new HashMap<String, String>(2) { |
| | | { |
| | | put("https://", previewURLsApi); |
| | | } |
| | | }; |
| | | |
| | | // STEP4:设置参数提交方式 |
| | | // STEP5:组装请求参数 |
| | | Map<String, String> queryMap = object2Map(params); |
| | | log.info("请求参数"+queryMap); |
| | | // STEP6:调用接口 |
| | | String result = null; |
| | | List<T> dataList = new ArrayList<>(); |
| | | for (int i = 0; i < 10; i++) { |
| | | result = ArtemisHttpUtil.doGetArtemis(path, queryMap, null, null , null); |
| | | JSONObject jsonObject = JSONObject.parseObject(result); |
| | | log.info("请求结果"+jsonObject); |
| | | if(jsonObject.getString("code") == null || !ApiConstants.HKSuccessCode.equals(jsonObject.getString("code"))){ |
| | | log.error("请求失败{}",result); |
| | | dataList = null; |
| | | break; |
| | | } |
| | | List<T> resultList = HkApiUtil.getDataList(JSONObject.parseObject(result), resultType); |
| | | if(CollectionUtils.isEmpty(resultList) || resultList.size()<ApiConstants.HKPageSize) { |
| | | dataList.addAll(resultList); |
| | | break; |
| | | }else { |
| | | dataList.addAll(resultList); |
| | | params.setPageNo(params.getPageNo()+1); |
| | | } |
| | | } |
| | | |
| | | return dataList; |
| | | } |
| | | |
| | | //解析数据 |
| | | private static <T> List<T> getDataList(JSONObject jsonObject, Class<T> resultClass) { |