做這個項目的初衷是因為我去年在微信賣老家水果,好多朋友下單后都問我快遞單號,每天發貨后我都要挨個甄別這個人是哪個快遞信息,很麻煩一部小心就搞錯了基于這件小事我有了自助快遞查詢的這個想法將發貨的快遞信息導入到我的系統里,用戶訪問我的系統,通過輸入手機號就可以查看自己的快遞物流信息 項目是去年8月寫的,一直擱淺在哪,最近無意間翻看我發的那篇文章自助快遞單號查詢閱讀量竟然都1.8w了,有圖有真相,下面我們就來聊聊關于快遞查詢api?接下來我們就一起去了解一下吧!
快遞查詢api
一、目的
做這個項目的初衷是因為我去年在微信賣老家水果,好多朋友下單后都問我快遞單號,每天發貨后我都要挨個甄別這個人是哪個快遞信息,很麻煩一部小心就搞錯了。基于這件小事我有了自助快遞查詢的這個想法。將發貨的快遞信息導入到我的系統里,用戶訪問我的系統,通過輸入手機號就可以查看自己的快遞物流信息。 項目是去年8月寫的,一直擱淺在哪,最近無意間翻看我發的那篇文章自助快遞單號查詢閱讀量竟然都1.8w了,有圖有真相。
這著實讓我很震驚,看來自助快遞查詢這塊確實是個熱點。今天我就講一下我手擼的快遞查詢系統。
二、開發
項目地址:github.com/hellowHuaai… 有興趣的可以直接下載源碼,覺得項目不錯的伙伴記得點個star,謝謝啦!
2.1技術棧
項目涉及到的技術棧有:
SpringBoot: 一款 Java 微服務框架。Spring boot 是 Spring 家族中的一個新框架,它用來簡化 Spring 應用程序的創建和開發。
Mybitas: 一款ORM框架,即對象關系映射。ORM框架的作用是把持久化對象的保存、修改、刪除等操作,轉換成對數據庫的操作。
Jquery:一個輕量級的寫的少,做的多的 JavaScript 函數庫。
Bootstrap:Bootstrap 是一個用于快速開發 Web 應用程序和網站的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的。
2.2后端開發
創建entity 創建快遞單實體類,屬性包括id,用戶名(userName),電話(phone),快遞單號(kuaidiNo),快遞公司(company),數據創建時間(createTime)。代碼如下:
@Data @Builder public class KuaiDi { private Integer id; /* 收件人姓名 */ private String userName; /**收件人電話*/ private String phone; /* 快遞單號*/ private String kuaidiNo; /*快遞公司名稱(拼音)*/ private String company; /*訂單創建時間*/ private Date createTime; public KuaiDi(Integer id, String userName, String phone, String kuaidiNo, String company, Date createTime) { this.id = id; this.userName = userName; this.phone = phone; this.kuaidiNo = kuaidiNo; this.company = company; this.createTime = createTime; } public KuaiDi(Integer id, String userName, String phone, String kuaidiNo, String company) { this.id = id; this.userName = userName; this.phone = phone; this.kuaidiNo = kuaidiNo; this.company = company; } }
service,mapper是常規的增刪查改操作,就是保存快遞的基本信息在數據庫中,并可以對數據進行簡單的維護功能。詳細可參考項目源碼。接下來看核心代碼。
查詢快遞信息 快遞的基本信息存入數據庫,然后就是通過這些信息查詢快遞的詳細物流信息。這里我做過很多嘗試,想直接調用一些快遞公司的快遞信息查詢接口,但是都發現接口都有session,當session失效后就無法查詢到數據或者就查詢到的數據不正確。最終在網上找到一種付費的方案,使用快遞100接口。www.kuaidi100.com/ 查詢快遞的demo代碼如下: