和第三方接口对接总结

和第三方接口对接总结接口对接分为两种形式:我方A公司提供接口给B公司,B公司进行一些操作时调用我们的接口进行实现。例:A开发会员等级同步接口,供B同步会员等级到B系统。B会员等级的变动需要调用A接口主动推送给A(即更新会员卡等级)。我们首先要做的就是按照对方的要求,在对方调用我们的接口,我方成功处理之后,按照对方所需要的返回数据以及格式反馈给他们信息。在写本接口中,因为我们会员卡等级的字段是不一样的,所…

大家好,又见面了,我是你们的朋友全栈君。

接口对接分为两种形式:

  1. 我方A公司提供接口给B公司,B公司进行一些操作时调用我们的接口进行实现。

例:A开发会员等级同步接口,供B同步会员等级到B系统。B会员等级的变动需要调用A接口主动推送给A(即更新会员卡等级)。

我们首先要做的就是按照对方的要求,在对方调用我们的接口,我方成功处理之后,按照对方所需要的返回数据以及格式反馈给他们信息。

在写本接口中,因为我们会员卡等级的字段是不一样的,所以我们对此主要处理的就是这个事情,1.例如对方传来修改后的卡等级是金卡,因为我们数据库中是分为vipcard和cardgrade两张表的,所以首先我们要去写一个方法,查询cardgrade表中所有的卡等级的id,返回一个list集合,再利用B公司传过来的数据for循环遍历比较,如果相等,则拿到金卡等级在我方A公司的ID,代码如下:和第三方接口对接总结

 

再根据B公司提供的会员卡号在我们查询到该条会员并拿到id;

最后就可以根据拿到跟新后的等级id和该会员的id进行更新了,任务完成!代码如下:

和第三方接口对接总结

 

 

 

2.B公司开发会员查询接口,A公司调用B公司接口,实时查询会员

调对方接口和对方调我方的接口稍微有些不同,因为中间涉及到安全问题,所以还要满足对方要求我方传入的参数,不然对方不给通过,参数要求如下:

和第三方接口对接总结

其中AppID,Args,AppSystem是与对方提供给我方特有的,timestamp是当前时间,我们只需获取当前时间按照他的格式生成,这个较简单,稍微复杂点的就是sign的生成了,要做的就是进行加签/验签,按照对方的要求,我们需要将AppId、Timestamp、Token(客户端保存),按照参数名在英文字典中的顺序排序,然后重新拼成一个标准的query string。然后采用sha1或者md5算法对此加密生成sign,代码如下:

和第三方接口对接总结

和第三方接口对接总结

和第三方接口对接总结

参数都好了之后,对方要求以form表单的形式将参数传过去,这又是一个坑,哎。。,网上找了很久,代码如下:

和第三方接口对接总结

Url是对方给的方法路径,param是放入的5个参数,然后要处理的就是把对方参数对应转成我方的参数形式,采用set/get即可。

供一起刚入坑的参考。

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134392.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • SDUTOJ 2128 树结构练习——排序二叉树的中序遍历[通俗易懂]

    SDUTOJ 2128 树结构练习——排序二叉树的中序遍历

  • ScheduledExecutorService 接口[通俗易懂]

    ScheduledExecutorService 接口[通俗易懂]newScheduledThreadPool()或者newSingleThreadScheduled-Executor()方法:延迟执行、周期性执行的执行器如果想在某一段时间之后执行线程操作,或者周期性地重复执行线程操作,则可以使用工厂类Executors的newScheduledThreadPool()方法或者newSingleThreadSche…

  • 分布式微服务架构的优缺点_单体架构和微服务架构

    分布式微服务架构的优缺点_单体架构和微服务架构单体架构、分布式架构、微服务优缺点单体架构特点?简单方便,高度耦合,扩展性差,适合小型项目。eg:学生管理系统。分布式架构特点?松耦合,扩展性好,但架构复杂,难度大。适合大型互联网项目,eg:京东、淘宝微服务:一种良好的分布式架构方案*优点:拆分粒度更小、服务更独立、耦合度更低*缺点:架构非常复杂,运维、监控、部署难度提高…

  • 串口打印是什么意思_串口无法启动 代码10

    串口打印是什么意思_串口无法启动 代码10DM36xinitializationpassed!TIUBLVersion:1.50BootingCatalogBootLoader         //启动目录BootLoader                           BootMode=NAND       

  • Lucene 分词 TokenStream 取 Token

    Lucene 分词 TokenStream 取 TokenLucene分词 TokenStream取TokenTokenStreamtokenStream=analyzer.tokenStream("content",newStringReader(text));//TokenStream遍历3.5Strings1="";Strings2="";while(tokenStream.inc…

  • 宝塔搭建php项目是什么_用宝塔怎么修改网站源码

    宝塔搭建php项目是什么_用宝塔怎么修改网站源码宝塔搭建PHP项目宝塔下载地址我选的是linux用宝塔搭建前提是你买的服务器并没有安装任何的镜像与环境进入官网选择你要的然后点击立即安装进入安装教程安装要求根据自己的主机商进入,我的是阿里云的设置一些开放端口添加安全组规则添加这些必要的端口mysql3306的记住一定要放行,这样可用本地工具连接远程服务器的数据库上面设置好之后就可以安装了,我的是Centosyuminstall-ywget&&wget-Oin

发表回复

您的电子邮箱地址不会被公开。

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