需求

	有时我们会调用第三方接口,并取相关的返回数据。

思路:通过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;
    }
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐