Java 调取第三方接口,取返回值(RestTemplate)
需求有时我们会调用第三方接口,并取相关的返回数据。思路:通过Map 进行获取,如果有子层,再通过Map方式进行强转后读取(注意做一下异常处理)示例@Transactionalpublic String SendStartFlow(Integer NoID,String userCode,String rem){String processInstanceId="";String code="203
·
需求
有时我们会调用第三方接口,并取相关的返回数据。
思路:通过Map 进行获取,如果有子层,再通过Map方式进行强转后读取(注意做一下异常处理)
示例
@Transactional
public String SendStartFlow(Integer NoID,String userCode,String rem){
String processInstanceId="";
String code="203";
String url =mailProperties.getActurl();
Map<String, Object> map = new HashMap<String, Object>();
Map<String, String> recipientToTaskMap = new HashMap<String, String>();
recipientToTaskMap.put("workflow_applier", userCode);
recipientToTaskMap.put("task_desc",rem);
map.put("bizName", "XX流程");
map.put("flowId", "MoldTrial");
map.put("no", "MoldTest_"+NoID);
map.put("isSendEmail",true);
map.put("startPersonNo", userCode);
map.put("vars",recipientToTaskMap);
RestTemplate restTemplate = new RestTemplate();
//System.out.println(map.toString());
try{
ResponseEntity<Map> responseEntity= restTemplate.postForEntity(url, map, Map.class);
Map body=responseEntity.getBody();
code=body.get("code").toString();
if (code.equals("200")){
Map data=(Map)body.get("data");
processInstanceId=data.get("processInstanceId").toString();
}
}catch (Exception e){
System.out.println("调用发送异常!");
code="203";
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return processInstanceId="";
}
try {
Thread.sleep(100);
} catch (Exception e) {
}
return processInstanceId;
}
更多推荐
已为社区贡献4条内容
所有评论(0)