前言:本篇博客是接着上篇总结写的,想了解怎么对接第三方平台接口的同学可以看我上一篇博客,地址是  https://www.cnblogs.com/alanturingson/p/13377500.html ,本篇将介绍如何封装接口给第三方平台来调用。

正文开始:

既然是对接快递平台,那么无非就有两种对接的模式。第一种,是本方去调用第三方的接口,例如快递查询接口、路由查询接口、路由订阅接口等。这些都需要本方主动去请求三方提供的url,按照三方要去的请求参数来推送参数获得数据。第二种,与第一种相反,是三方调我们的接口。例如路由推送接口等。这种模式需要本方封装一个接口,并提供地址给第三方,然后第三方来调我们自己的接口从而实现我们封装的接口实现的逻辑。

今天我们说说第二种,三方调用本方接口。

在上一篇中,我们介绍调用三方接口的时候,是我们按照三方的要求来,按照他给的参数进行入参请求。那么我们写接口给三方来调,是不是就需要三方完全按照我们的要求来呢?其实并不是,为了让三方调用我们接口,我们需要首先去与三方沟通,拿到他们的请求参数格式,按照他们请求参数的格式,来设计我们的接口(ps:没错,就是这么的卑微,毕竟三方才是爸爸0^0)。在拿到三方的标准格式后,我们就可以设计接口了。与主动调用在manager层写代码不同,被动接受调用,需要从manager层到service层再到controller层,三层设计封装然后接口才算完成。

1.manager层

在manager层,我们依然可以使用调用三方接口的apimanager类,以及三层请求与三层返回类,这里需要改的是请求与返回的第三层类,具体代码如下:

1.1申通路由推送接口请求类:

@EqualsAndHashCode(callSuper = true)

@Datapublic class StoTracePushRequest extends BaseStoRequest{

@OverridepublicString apiName() {returngetApiName();

}public staticString getApiName() {return "STO_TRACE_PLATFORM_PUSH";

}

@OverridepublicString toAppKey() {return null;

}

@Overridepublic ClassgetResponseClass() {return StoTracePushResponse.class;

}/*** 运单号*/

privateString waybillNo;/*** 订单号*/

privateString linkCode;/*** 轨迹信息*/

privateStoTracePushInfo trace;

}

1.2 申通路由推送接口返回类:

public class StoTracePushResponse extends BaseStoResponse{

}

这里的 StoTracePushDTO 类,是申通api文档里注明的响应参数,大家可以依据具体的规范设计,代码我也放出来吧:

@Datapublic classStoTracePushDTO {/*** 运单号*/

privateString waybillNo;/*** 是否需要重试: 用于正常收到请求,但程序处理异常时,可以传true,不管success是true还是false,申通侧都会重新推送;*/

privateBoolean needRetry;

}

那么manager层的设计就到这里了,apiManeger类的话在上一篇博客里面有发出来,这里不做任何改动可以直接调用。

2.Service层  (任务来了,下次在更)

html第三方接口,关于调用三方平台接口与推送接口的总结(2020.7.27)相关推荐

  1. 淘宝开放平台:消息推送接口问题一则

    https://open.taobao.com/doc.htm?spm=a219a.7386653.0.0.120c669apt4vTq&docId=1&docType=15& ...

  2. mailgun ——10000封每月的邮件推送接口

    近期接触了一两个接口,一个是twilio短信推送接口,另一个是mailgun的邮件推送接口. 两个网站都在国外,如果在国内直接注册的话会不成功,原因是需要人机验证. 需要科学上网才能弹出人机验证的小窗 ...

  3. php订阅号发送消息,PHP版微信公共平台消息主动推送,突破订阅号一天只能发送一条信息...

    2013年10月06日最新整理. PHP版微信公共平台消息主动推送,突破订阅号一天只能发送一条信息限制 微信公共平台消息主动推送接口一直是腾讯的私用接口,相信很多朋友都非常想要用到这个功能. 通过学习 ...

  4. Android平台屏幕/摄像头或外部数据采集及RTMP推送接口设计描述

    好多开发者提到,为什么大牛直播SDK的Android平台RTMP推送接口怎么这么多?不像一些开源或者商业RTMP推送一样,就几个接口,简单明了. 不解释,以Android平台RTMP推送模块常用接口, ...

  5. 搜狗推送接口之搜狗收录怎么做?

    有搜狗推送接口工具吗?最接近一直有朋友问我,我很明确的告诉他我们这边没有,搜狗的口子也不是这么容易有的,我身边的朋友做搜狗站群的,都是一步一步的做起来的. 那下面我们就一起看看搜狗怎么实现批量收录.我 ...

  6. 企业微信消息推送接口大全

    该类存放接口所用到的企业微信的接口地址 package com.common;public final class QyapiUrl {/*** 请求nginx转发服务器地址*/public stat ...

  7. 淘宝购物车推送接口、购物车流量推荐、商品购物车权重提升,购物车猜你喜欢推送,购物车猜你喜欢打标

    购物车猜你喜欢推送 -------------------------------------------------------------------------------- 接口地址: juz ...

  8. 微信企业号下的消息推送接口

    一般在微信企业号下做软件开发,基本都会用到消息推送,用户在完成一个操作之后,会在企业号中推送一条消息,这条消息可能是文本.图文等不同类型,在具有审批流程的消息推送中,下一级人员审批完成会给上一级推送一 ...

  9. spring-boot整合smart-doc推送接口文档到torna报错Failure to find xxx... resolution will not be reattempted until

    spring-boot整合smart-doc推送接口文档到torna报错Failure to find xxx- resolution will not be reattempted until th ...

最新文章

  1. ios开发日记- 5 屏幕截图
  2. [BZOJ 2002][Hnoi2010]Bounce 弹飞绵羊(分块)
  3. opencv imencode跟imdecode函数jpg(python)
  4. 牛客题霸 NC5 二叉树根节点到叶子节点的所有路径和
  5. 人工智能将再创新高,清华发布人工智能白皮书
  6. 使用Blink SQL+UDAF实现差值聚合计算
  7. Java RandomAccessFile writeShort()方法与示例
  8. 【MySQL】JavaWeb项目中配置数据库的连接池
  9. 20以内的素数编码C语言,用C语言 输出100以内的素数,
  10. 借助neo4j-admin导入csv文件构建实体与联系
  11. oracle用户的追踪文件,Oracle中怎样通过触发器来追踪用户的活动?
  12. 大龄开发者正在消失?NO,听听这3位50岁程序员怎么说
  13. 一图掌握ICT项目管理流程图【实例】
  14. Facebook三大愿景和五大核心价值
  15. iOS 一个功能很全的视频播放器
  16. java降噪_耳机降噪技术有哪几种?
  17. 谷歌浏览器被恶意劫持解决方案
  18. Cognos 8.3 IE 兼容性问题
  19. 开启springcloud全家桶5:探索负载均衡组件 Ribbon实现与原理
  20. CF1475F Unusual Matrix

热门文章

  1. matlab sol函数,sol=bvp4c(@f,@fsbc,solinit)解决有上下限的ODE函数
  2. 1过程流程图 3 apqp_为什么说APQP以最低成本及时提供优质的产品?
  3. android项目中导入opencv库,将第二个JNI库包含到我的Android项目(OpenCV)后...
  4. python类修饰器_《Python有什么好学的》之修饰器
  5. 给vim添加自动跳出括号的功能
  6. Finding Similar Items 文本相似度计算的算法——机器学习、词向量空间cosine、NLTK、diff、Levenshtein距离...
  7. shingling算法——提取特征,m个hash函数做指纹计算,针对特征hash后变成m维向量,最后利用union-find算法计算相似性...
  8. elasticsearch负载均衡节点——客户端节点 node.master: false node.data: false 其他配置和master 数据节点一样...
  9. IJ中 运行tomcat 配置
  10. 5分钟上手写ECharts的第一个图表