和第三方接口对接总结
接口对接分为两种形式:
- 我方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即可。
供一起刚入坑的参考。
和第三方接口对接总结相关推荐
- 使用SpringBoot RestTemplate实现第三方接口对接
实现对接第三方接口,可以使用HttpClient(年岁较久),也可以使用SpringBoot RestTemplate(新生代).可根据个人喜好选择适当的方式进行对接,相比较HttpClient个人推 ...
- 第三方接口对接注意事项
技术方面 网络协议方面 确认接口对接的网络协议和请求地址:https/http 端口号 请求地址 接口请求方面 尽量全部约定 数据传参+响应格式为:application/json POST请求 确认 ...
- java第三方接口对接_调用多个第三方接口哪一种方案更好?
目的 用户在下单的时候,会调用我们的后台服务器,我们的后台服务器又会根据不同渠道调用第三方下单接口,完成整个下单流程,但是第三方下单接口可能突然出问题或者不支持,所以目前我们每一种渠道都配置了好几种备 ...
- java第三方接口对接_Java中处理调用第三方接口(post/get),该如何处理,返回的数据如何处理...
条件:1.请求URL:http://ip:port/yypt/*.jsonRequest 2.接口采用http post协议.Content-Type为application/json 调用流程: 第 ...
- java对接第三方接口
1.准备与第三方接口对接的账号 配置到了Apollo上面 @Value("${taofake.appId}")private String appId;@Value("$ ...
- 【开发经验】如何快速接入第三方接口
文章目录 背景 简单快速的抓取Http请求报文 1.1 fiddler工具 1.2 java socket代码 1.3 TCP工具 背景 在第三方接口对接时,往往会出现如下问题. 接口提供方接口已 ...
- 系统接口对接的进度工作应该谁来干_第三方分账系统开发的那些坑,给你节省几十万...
小猫接触过上百个平台经营者,他们在咨询第三方分账系统时,都会或多或少的抱怨原有合作产品的坑.比如"接口对接速度过慢,影响上线进度"."系统体验不好,导致平台用户流失严重& ...
- 与第三方Api接口对接需要注意的点
与第三方Api接口对接需要注意的点 目录 一.非技术对接 二.技术对接 三.必要措施 四.常见错误解决 一.非技术对接 [重要]画出流程时序图 查看对方文档,积极沟通 本公司接口文档和图发对方确认,一 ...
- 顺丰丰桥接口之下订单接口,适用于第三方系统对接
顺丰丰桥接口之下订单接口,适用于第三方系统对接 语言 JAVA 作者:不停留的风 1.加Servlet访问 @WebServlet("/XXX") public class Tes ...
最新文章
- 解决外部工具链接CRM失败的问题
- CodeForces - 1326E Bombs(线段树+思维)
- 不等式约束的拉格朗日乘数法_Abaqus血管支架仿真|接触约束执行方式
- c语言规范标准c99中文版下载,c99标准找到了,中文HTML页面
- 程序员如何利用 Python 解决女朋友不看天气的坏习惯?
- 2015 NI 校招笔试机试面试
- 帝国cms网站URL伪静态的设置方法
- 网页中透明Flash的设置
- 淘宝闲鱼等电商平台数据采集软件
- webpack打包报错系列(二)Failed to load C:\Users\XXX\webpack.config.js:17 mode: ‘development‘
- 将C盘里的Users文件夹移动到D盘
- oneTab的使用也会让Chrome 卡顿
- win 10 安装robomongo(studio 3T)
- 在你的硬盘上建立第二个 EFI 分区
- RabbitMQ and Oslo.messaging
- Google Earth揭密中国军事设施
- 雪茄星系、玫瑰星云和灵魂星云
- Linux系统vim命令总结
- dancer配置问题集合
- 巨杉2017行业认可盘点