简单使用restTemplate来接收第三方接口demo

由于需要访问到第三方的接口并把接收到的数据存入自己项目的数据库中,所以使用到restTemplate来处理,这里模拟一个环境。

环境:第三方给你用户和密码,你需要获取所对应第三方生成的token来进行验证

模拟第三方数据接口的Controller

@Slf4j
@RestController
public class GetApiController {
    @Autowired
    JdbcTemplate jdbcTemplate;

    @RequestMapping("/getToken")
    public String getApiToken(String userId,String userPwd){
        String sql="select token from gxhy_login where user_id='"+userId+"'"+" and user_pwd='"+userPwd+"'";
        log.info(sql);
       try {
           String token = jdbcTemplate.queryForObject(sql, String.class);
           return token;
       }catch (Exception e){
           log.error("获取失败", e);
           return "worry";
       }

    }

}

我方访问第三方接口Controller

@Slf4j
@RestController
@RequestMapping("/api/gxhy")
public class RestTemplateController {
    @Value("${user.id}")
    private  String user;

    @Value("${user.password}")
    private String password;

    @RequestMapping("/getToken")
    public String getTestMsg(){
        RestTemplate restTemplate = new RestTemplate();
        String url = "http://localhost:8081/getToken?userId="+user+"&userPwd="+password;
        log.info(url);
        try {
            String response=restTemplate.getForObject(url,String.class);
            log.info(response);
            Constants.TOKEN_CODE=response;
            Constants.TOKEN_TIME=new Date().getTime();
            if(Constants.isToken()){
                log.info("未超时!");
            }else
                log.info("超时!");
            return Constants.TOKEN_CODE;
        } catch (Exception e){
            log.error("获取api接口数据失败",e);
            return "获取api接口数据失败";
        }

    }
}

我这里模拟了一个常量token方便后续对于第三方权限数据的其他访问

public class Constants {
    public static String TOKEN_CODE="";
    public static long TOKEN_TIME;

    public  static boolean isToken(){
        if(StringUtils.isNotBlank(TOKEN_CODE)){
            long now=new Date().getTime();
            if(now-TOKEN_TIME<3600000)
                return true;
            else
                return false;
        }
        return false;
    }
}

最后感谢大佬康哥的简单记录下RestTemplate 中postForObject调用例子文章的帮助!

泛微OA是一款广泛应用于企业办公的办公自动化软件,提供了丰富的功能和可定制的接口,可以方便地与其他系统进行集成。调用第三方接口是在泛微OA中实现与外部系统或服务进行数据交互的重要方式之一。 要实现泛微OA调用第三方接口Demo,首先需要确定所要调用的第三方接口的具体内容和功能。一般而言,调用第三方接口需要提供接口的URL、请求的参数以及相应的请求方法(GET/POST)。 在泛微OA中,可以通过编写自定义的插件或者脚本来实现调用第三方接口。插件可以直接在OA系统中安装并使用,而脚本则可以通过定时任务或触发器来执行相应的操作。 具体实现步骤如下: 1. 在泛微OA的插件管理或脚本管理界面创建一个新插件或脚本。 2. 编写相应的逻辑代码,包括向第三方接口发送请求并获取响应数据的过程。根据第三方接口的要求,通过HTTP请求发送合适的参数,并解析接口返回的数据。 3. 调试和测试插件或脚本,确保能够正确地与第三方接口进行通信并获取到预期的结果。 4. 根据需求,可以在泛微OA的流程或表单中调用刚刚创建的插件或脚本。这样,当流程或表单的相关操作触发时,相应的第三方接口也会被调用。 需要注意的是,调用第三方接口可能需要进行认证或鉴权操作,这需要根据具体情况在代码中添加相应的授权方式,如使用API Key或OAuth等。 综上所述,泛微OA调用第三方接口Demo实现过程是:确定要调用的第三方接口的功能,创建并编写相应的插件或脚本,并在泛微OA的流程或表单中调用该插件或脚本,最后进行调试测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值