调用第三方接口大致流程

调用第三方接口大致流程下面以风控为例,业务是调用第三方接口获取支付宝报告天机支付宝获取流程:1本质:中转站:前台把参数传给我,我接受参数后传给天机,天机在传给支付宝,最后获取数据,在这个过程中   我们和天机都充当的是中转站的角色。2流程:a前台传客户的基本信息参数    b后台接受参数,传给天机,天机返回淘宝的认证地址链接,后台把链接返回给前台;    c前台打开链接,进入认证页面,进行认…

大家好,又见面了,我是你们的朋友全栈君。下面以风控为例,业务是调用第三方接口获取支付宝报告

天机支付宝获取流程:

1 本质:中转站:前台把参数传给我,我接受参数后传给天机,天机在传给支付宝,最后获取数据,在这个过程中

      我们和天机都充当的是中转站的角色。

2 流程:a 前台传客户的基本信息参数

       b 后台接受参数,传给天机,天机返回淘宝的认证地址链接,后台把链接返回给前台;

       c 前台打开链接,进入认证页面,进行认证,天机通过后台写的回调函数向后台返回认证结果,后台把结果返回给前台;

       d 当天机返回的结果是认证成功,就再次调用天机获取认证链接的接口,这其中要做参数转换,虽然调的接口一样,但参数不同,这一步的主要作用是抓取报告,这其中后台的回调函数天机依然在调;

       e 当天机返回的状态为抓取成功时,就开始调获取报告的接口,进行报告的获取;

3 难点:一个完整的流程分几步完成,而且要依据状态提示操作,造成如下问题:

      (1)一个客户没有进行完,另一个客户进来了,造成数据混淆;

    (2)前端  后端  天机这三方如何协调一致;

     解决:对于第一个问题:a 在控制层添加如下注解:@Scope(“prototype”),改注解的作用是每发一次请求就是一个新的controller,互不干扰;

                           b 把诸如状态等需要共享的数据建表存储,然后查表;

               对于第二个问题:从前端发第一次请求获取认证链接地址的时候,就给前端返回一个该客户的唯一标识,然后下面的每一次请求都需要传这个唯一标识进行区别;

     

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137458.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java代码自动生成[通俗易懂]

    Java代码自动生成(优化封装版)一、前言      最近自己做了个项目,为了提升开发效率,节约不必要的开发时间,特意花时间优化了下代码自动生成工具。成果不错,效率提高了不少,空闲时间特意写下这篇文章,希望对大家有所帮助。PS文章底部是我的代码下载链接,大家可以自行下载。 二、项目背景框架       本套生成工具是基于SpringMVC+MyBatis框架,同…

    2022年4月14日
    179
  • linux 查看Java 进程的内存使用情况[通俗易懂]

    linux 查看Java 进程的内存使用情况[通俗易懂]top-b-n1|grepjava|awk'{print”PID:”$1″,mem:”$6″,CPUpercent:”$9″%”,”mempercent:”$10″%”}’…

    2022年8月23日
    8
  • oracle创建表设置主键自增_sql如何设置自增

    oracle创建表设置主键自增_sql如何设置自增CREATETABLEdatau_excel_audit_user(idnumber(11)primarykey,audit_nameVARCHAR2(20),iphoneVARCHAR2(11),create_dateDATE,update_dateDATE);COMMENTONTABLEdatau_excel_audit_userIS’审批人管理’;COMMENTONCOLUMNdatau_excel_audit_user.id..

    2022年10月16日
    1
  • Java程序设计(基础)- 数组

    Java程序设计(基础)- 数组

    2021年7月21日
    53
  • 动态调整线程池参数实践

    动态调整线程池参数实践欢迎大家关注我的微信公众号【老周聊架构】,Java后端主流技术栈的原理、源码分析、架构以及各种互联网高并发、高性能、高可用的解决方案。一、线程池遇到的挑战我们上一篇《一文读懂线程池的实现原理》已经从线程池如何维护自身状态、线程池如何管理任务、线程池如何管理线程三个维度来深入剖析线程池的底层原理与源码剖析,这让我们对线程池的原理有了较为深入的理解。这对我们多线程编程有很大的帮助,但在使用线程池时还是会面临几个棘手的问题。开发人员个人经验与水平参差不齐,配置线程池参数都是按照自己想法来,没有统一.

    2022年6月5日
    91
  • mysql longtext,在MySQL中,当只需要TEXT时,LONGTEXT是否会浪费空间?[通俗易懂]

    mysql longtext,在MySQL中,当只需要TEXT时,LONGTEXT是否会浪费空间?[通俗易懂]TEXT[(M)][CHARACTERSETcharset_name][COLLATEcollation_name]ATEXTcolumnwithamaximumlengthof65,535(2^16−1)characters.Theeffectivemaximumlengthislessifthevaluecontainsmultibytec…

    2022年5月15日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号