最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot實現阿里云快遞物流查詢的示例代碼

 更新時間:2021年10月29日 09:41:14   作者:鄭清  
本文將基于springboot實現快遞物流查詢,物流信息的獲取通過阿里云第三方實現,具有一定的參考價值,感興趣的可以了解一下

一、前言

本文將基于springboot2.4.0實現快遞物流查詢,物流信息的獲取通過阿里云第三方實現

可參考: https://market.aliyun.com/products/57124001/cmapi022273.html?spm=5176.730005.productlist.d_cmapi022273.e8357d36FVX3Eu&innerSource=search#sku=yuncode1627300000

在這里插入圖片描述

快遞查詢API,快遞識別單號,快遞接口可查詢上百家快遞公司及物流快遞信息包括:順豐、申通、圓通、韻達、中通、匯通、EMS、天天、國通、德邦、宅急送等幾百家快遞物流公司單號查詢接口。與官網實時同步更新,包含快遞送達時間。

二、快遞物流查詢

注:需要購買快遞物流查詢接口服務獲取AppCode

在這里插入圖片描述

工具類

其中http請求工具類自行查看demo源碼

@Slf4j
public class LogisticUtil {

    /**
     * 查詢物流信息
     *
     * @param params 提交參數
     * @return 物流信息
     * @author zhengqingya
     * @date 2021/10/23 10:48 下午
     */
    public static LogisticVO getLogisticInfo(LogisticDTO params) {
        String no = params.getNo();
        String type = params.getType();
        String appCode = params.getAppCode();

        // 請求地址
        String requestUrl = String.format("https://kdwlcxf.market.alicloudapi.com/kdwlcx?no=%s&type=%s",
                no, StringUtils.isBlank(type) ? "" : type);
        // 發(fā)起請求
        Map<String, String> headerMap = Maps.newHashMap();
        headerMap.put("Authorization", String.format("APPCODE %s", appCode));
        String resultJson = HttpUtil.getUrl(requestUrl, headerMap);
        LogisticApiResult logisticApiResult = JSON.parseObject(resultJson, LogisticApiResult.class);
        Assert.notNull(logisticApiResult, "參數異常");
        Assert.isTrue(logisticApiResult.getStatus() == 0, logisticApiResult.getMsg());
        return logisticApiResult.getResult();
    }
}

請求實體類

@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("物流-查詢參數")
public class LogisticDTO {

    @ApiModelProperty(value = "快遞單號 【順豐請輸入運單號 : 收件人或寄件人手機號后四位。例如:123456789:1234】", required = true, example = "780098068058")
    private String no;

    @ApiModelProperty(value = "快遞公司代碼: 可不填自動識別,填了查詢更快【代碼見附表】", required = true, example = "zto")
    private String type;

    @ApiModelProperty(value = "appCode", required = true, example = "xxx")
    private String appCode;
}

響應實體類

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("物流-api響應結果")
public class LogisticApiResult {

    @ApiModelProperty("狀態(tài)碼")
    private Integer status;

    @ApiModelProperty("提示信息")
    private String msg;

    @ApiModelProperty("結果集")
    private LogisticVO result;

}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("物流-響應參數")
public class LogisticVO {

    @ApiModelProperty("運單編號")
    private String number;

    @ApiModelProperty("快遞公司編碼[見附表]")
    private String type;

    @ApiModelProperty("投遞狀態(tài) 0快遞收件(攬件)1在途中 2正在派件 3已簽收 4派送失敗 5.疑難件 6.退件簽收")
    private String deliverystatus;

    @ApiModelProperty("是否本人簽收")
    private String issign;

    @ApiModelProperty("快遞公司名字")
    private String expName;

    @ApiModelProperty("快遞公司官網")
    private String expSite;

    @ApiModelProperty("快遞公司電話")
    private String expPhone;

    @ApiModelProperty("快遞員")
    private String courier;

    @ApiModelProperty("快遞員電話")
    private String courierPhone;

    @ApiModelProperty("最新軌跡的時間")
    private String updateTime;

    @ApiModelProperty("發(fā)貨到收貨耗時(截止最新軌跡)")
    private String takeTime;

    @ApiModelProperty("快遞公司logo")
    private String logo;

    @ApiModelProperty("事件軌跡集")
    private List<LogisticItem> list;

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    @ApiModel("事件軌跡集")
    public static class LogisticItem {
        @ApiModelProperty("時間點")
        private String time;

        @ApiModelProperty("事件詳情")
        private String status;
    }
}

三、測試api

@Slf4j
@RestController
@RequestMapping("/test")
@Api(tags = "測試api")
public class TestController {

    @ApiOperation("查詢物流信息")
    @GetMapping("getLogistic")
    public LogisticVO getLogistic(@ModelAttribute LogisticDTO params) {
        return LogisticUtil.getLogisticInfo(params);
    }

}

接口文檔 http://127.0.0.1/doc.html

在這里插入圖片描述

本文demo源碼

https://gitee.com/zhengqingya/java-workspace

到此這篇關于SpringBoot實現阿里云快遞物流查詢的示例代碼的文章就介紹到這了,更多相關SpringBoot 阿里云快遞物流查詢內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java短路邏輯運算符實例用法詳解

    java短路邏輯運算符實例用法詳解

    在本篇文章里小編給大家分享的是一篇關于java短路邏輯運算符實例用法內容,有需要的朋友們可以學習參考下。
    2021-04-04
  • Java的RocketMq隊列之消息可靠性詳解

    Java的RocketMq隊列之消息可靠性詳解

    這篇文章主要介紹了Java的RocketMq隊列之消息可靠性詳解,生產者通過網絡發(fā)送消息給 Broker,當 Broker 收到之后,將會返回確認響應信息給 Producer,所以生產者只要接收到返回的確認響應,就代表消息在生產階段未丟失,需要的朋友可以參考下
    2024-01-01
  • SpringBoot配置文件啟動加載順序的方法步驟

    SpringBoot配置文件啟動加載順序的方法步驟

    SpringBoot的啟動加載順序涉及多個步驟和組件,通過分層和優(yōu)先級機制加載配置文件,確保在啟動時正確配置應用程序,本文就來介紹一下SpringBoot配置文件啟動加載順序的方法步驟,感興趣的可以了解一下
    2024-11-11
  • JAVA Iterator 轉成 List 的操作

    JAVA Iterator 轉成 List 的操作

    這篇文章主要介紹了JAVA Iterator 轉成 List 的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 淺談java中replace()和replaceAll()的區(qū)別

    淺談java中replace()和replaceAll()的區(qū)別

    這篇文章主要介紹了java中replace()和replaceAll()的區(qū)別,兩者都是常用的替換字符的方法,感興趣的小伙伴們可以參考一下
    2015-11-11
  • Mybatis plus 配置多數據源的實現示例

    Mybatis plus 配置多數據源的實現示例

    這篇文章主要介紹了Mybatis plus 配置多數據源的實現示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • 為何修改equals方法時還要重寫hashcode方法的原因分析

    為何修改equals方法時還要重寫hashcode方法的原因分析

    這篇文章主要介紹了為何修改equals方法時還要重寫hashcode方法的原因分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Freemarker中的3種循環(huán)模式

    Freemarker中的3種循環(huán)模式

    這篇文章主要介紹了Freemarker中的3種循環(huán)模式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • JDK1.8中的ConcurrentHashMap使用及場景分析

    JDK1.8中的ConcurrentHashMap使用及場景分析

    這篇文章主要介紹了JDK1.8中的ConcurrentHashMap使用及場景分析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • SpringBoot整合Shiro框架,實現用戶權限管理

    SpringBoot整合Shiro框架,實現用戶權限管理

    Apache Shiro是一個強大且易用的Java安全框架,執(zhí)行身份驗證、授權、密碼和會話管理。作為一款安全框架Shiro的設計相當巧妙。Shiro的應用不依賴任何容器,它不僅可以在JavaEE下使用,還可以應用在JavaSE環(huán)境中。
    2021-06-06

最新評論

顺平县| 嘉兴市| 沙洋县| 吉木乃县| 金阳县| 邵武市| 遂昌县| 陈巴尔虎旗| 化德县| 磐安县| 安塞县| 将乐县| 永寿县| 阿拉善左旗| 台东县| 彭州市| 天峨县| 泾阳县| 台江县| 商南县| 林周县| 宜都市| 牟定县| 定兴县| 晋宁县| 罗江县| 寻乌县| 通榆县| 琼结县| 郧西县| 崇明县| 裕民县| 玉门市| 孟州市| 通化市| 邳州市| 个旧市| 霍邱县| 天峨县| 伊宁市| 开鲁县|