电竞Dota2数据API接口 - 【联赛列表】API调用示例代码

简介: 分享使用 飞鲸体育数据 www.feijing88.com 接口调用的示例代码,Dota2的【联赛列表】接口。

分享使用Dota2的【联赛列表】接口调用的示例代码,查看在线文档,请注册下

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField;

import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;

/**
 * @API: 联赛列表
 * @Website: https://www.feijing88.com
 */
public class DotaLeague {

    public static void main(String[] args) {
        try {
            String content = getContent();
            Respond rsp = JSON.parseObject(content, Respond.class);
            System.out.println(rsp.code);
            System.out.println(rsp.message);
            rsp.getLeagueList().forEach(System.out::println);

        } catch (Throwable t) {
            t.printStackTrace();
        }
    }

    /**
     * 获取API返回内容
     * <p>
     * Note: 这里为了方便测试我使用了一份本地文件,使用时应替换为真实接口返回内容
     */
    private static String getContent() {
        try {
            StringBuilder builder = new StringBuilder();
            List<String> lines = Files.readAllLines(Paths.get("./src/main/resources/DotaLeague.json"), StandardCharsets.UTF_8);
            lines.forEach(builder::append);
            return builder.toString();
        } catch (Throwable t) {
            t.printStackTrace();
            return "";
        }
    }


    public static class Respond {
        @JSONField(name = "code")
        private int code;
        @JSONField(name = "message")
        private String message;
        @JSONField(name = "data")
        private List<League> leagueList;

        public int getCode() {
            return code;
        }

        public void setCode(int code) {
            this.code = code;
        }

        public String getMessage() {
            return message;
        }

        public void setMessage(String message) {
            this.message = message;
        }

        public List<League> getLeagueList() {
            return leagueList;
        }

        public void setLeagueList(List<League> leagueList) {
            this.leagueList = leagueList;
        }
    }

    public static class League {
        @JSONField(name = "league_id")
        private int leagueId;
        @JSONField(name = "name")
        private String name;
        @JSONField(name = "name_en")
        private String nameEn;
        @JSONField(name = "short_name")
        private String nameShort;
        @JSONField(name = "start_time")
        private long startTime;
        @JSONField(name = "end_time")
        private long endTime;
        @JSONField(name = "organizer")
        private String organizer;
        @JSONField(name = "logo")
        private String logo;
        @JSONField(name = "address")
        private String address;
        @JSONField(name = "team_ids")
        private List<Integer> teamIds;
        @JSONField(name = "status")
        private int status;

        @Override
        public String toString() {
            return "League{" +
                    "leagueId=" + leagueId +
                    ", name='" + name + '\'' +
                    ", nameEn='" + nameEn + '\'' +
                    ", nameShort='" + nameShort + '\'' +
                    ", startTime=" + startTime +
                    ", endTime=" + endTime +
                    ", organizer='" + organizer + '\'' +
                    ", logo='" + logo + '\'' +
                    ", address='" + address + '\'' +
                    ", teamIds=" + teamIds +
                    ", status=" + status +
                    '}';
        }

        public void setLeagueId(int leagueId) {
            this.leagueId = leagueId;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setNameEn(String nameEn) {
            this.nameEn = nameEn;
        }

        public void setNameShort(String nameShort) {
            this.nameShort = nameShort;
        }

        public void setStartTime(long startTime) {
            this.startTime = startTime;
        }

        public void setEndTime(long endTime) {
            this.endTime = endTime;
        }

        public void setOrganizer(String organizer) {
            this.organizer = organizer;
        }

        public void setLogo(String logo) {
            this.logo = logo;
        }

        public void setAddress(String address) {
            this.address = address;
        }

        public void setTeamIds(List<Integer> teamIds) {
            this.teamIds = teamIds;
        }

        public void setStatus(int status) {
            this.status = status;
        }
    }
}

API 返回数据如下(部分):

200
成功
League{leagueId=674, name='2019 亚洲洲际赛', nameEn='Rift Rivals 2019/Asia', nameShort='2019 亚洲洲际赛', startTime=1562169600000, endTime=1562428800000, organizer='Riot', logo='http://qn.feijing88.com/feijing-home/egame/image/20190620/048a632507ff47918394d5d2c4bcb04c.png', address='韩国首尔', teamIds=[3, 708, 40, 703, 64, 787, 74, 670, 60, 813, 782, 737], status=2}
League{leagueId=675, name='2019 欧美洲际赛', nameEn='2019 RIFT RIVALS', nameShort='2019 欧美洲际赛', startTime=1561564800000, endTime=1561824000000, organizer='Riot', logo='http://qn.feijing88.com/feijing-home/egame/image/20190620/9ed7e6ab761e436daadf36f9a523b0f7.png', address='洛杉矶', teamIds=[58, 7, 69, 67, 601, 607], status=2}
League{leagueId=671, name='2019 LMS 夏季赛', nameEn='LMS 2019 Summer Split', nameShort='2019 LMS 夏季赛', startTime=1560355200000, endTime=1567094400000, organizer='Riot', logo='http://qn.feijing88.com/feijing-home/egame/image/20190607/03a5ecfb3ea844a8a111e0df855c6821.png', address='台北', teamIds=[5, 181, 60, 781, 632, 90, 782], status=1}
League{leagueId=672, name='2019 LEC夏季赛', nameEn='LEC 2019 Summer Split', nameShort='2019 LEC夏季赛', startTime=1559836800000, endTime=1567872000000, organizer='Riot', logo='http://qn.feijing88.com/feijing-home/egame/image/20190531/bf5d954f918644cab9cda6941a89a6c8.png', address='欧洲', teamIds=[965, 669, 607, 67, 686, 601, 825, 824, 62, 660], status=1}
League{leagueId=678, name='2019 LCK夏季赛', nameEn='LCK 2019 Summer Split', nameShort='2019 LCK夏季赛', startTime=1559664000000, endTime=1567094400000, organizer='Riot', logo='http://qn.feijing88.com/feijing-home/egame/image/20190528/c69270e207ef47d7a8691658ba85ecce.png', address='韩国', teamIds=[46, 703, 4, 708, 2, 49, 40, 44, 704, 3], status=1}
League{leagueId=670, name='2019 LPL夏季赛', nameEn='LPL 2019 Summer Split', nameShort='2019 LPL夏季赛', startTime=1559318400000, endTime=1567180800000, organizer='Riot', logo='http://qn.feijing88.com/feijing-home/egame/image/20190526/f6f05d4f41e14927bf46cfc97239a1be.png', address='', teamIds=[1, 6, 64, 73, 66, 787, 63, 74, 71, 789, 677, 79, 70, 976, 722, 670], status=1}
League{leagueId=677, name='2019 LCS夏季赛', nameEn='LCS 2019 Summer Split', nameShort='2019 LCS夏季赛', startTime=1559318400000, endTime=1566662400000, organizer='Riot', logo='http://qn.feijing88.com/feijing-home/egame/image/20190526/d153eca078d44c45baf15676dc8ab270.png', address='北美', teamIds=[779, 7, 771, 68, 602, 680, 773, 778, 58, 69], status=1}
League{leagueId=662, name='2019 MSI季中冠军赛', nameEn='2019 Mid-Season Invitational', nameShort='2019 MSI季中冠军赛', startTime=1556640000000, endTime=1558195200000, organizer='Riot', logo='http://qn.feijing88.com/feijing-home/egame/image/20190425/cbfad96597dc4391b5e88d117c18720a.png', address='越南 台北', teamIds=[67, 3, 653, 58, 813, 51, 119, 863, 61, 60, 614, 64, 111], status=2}
League{leagueId=669, name='2019NEST电竞大赛', nameEn='2019NEST', nameShort='2019NEST', startTime=1555862400000, endTime=1558800000000, organizer='华奥CGA', logo='http://qn.feijing88.com/feijing-home/egame/image/20190419/40befc4dd6284bf78d9561db2281e226.png', address='贵阳', teamIds=[670, 71, 722, 787, 79, 64, 63, 74, 6, 73, 789, 677, 1, 66, 70], status=2}
League{leagueId=661, name='2019LCK春季升降级赛', nameEn='LCK 2019 Spring Promotion', nameShort='2019LCK春季升降级赛', startTime=1555344000000, endTime=1555776000000, organizer='Riot', logo='http://qn.feijing88.com/feijing-home/egame/image/20190411/1214da36283b411297030116180ac6cf.png', address='韩国', teamIds=[44, 49, 949, 118], status=2}
相关文章
|
26天前
|
JSON API 数据格式
淘宝/天猫图片搜索API接口,json返回数据。
淘宝/天猫平台虽未开放直接的图片搜索API,但可通过阿里妈妈淘宝联盟或天猫开放平台接口实现类似功能。本文提供基于淘宝联盟的图片关联商品搜索Curl示例及JSON响应说明,适用于已获权限的开发者。如需更高精度搜索,可选用阿里云视觉智能API。
|
24天前
|
JSON API 数据安全/隐私保护
深度分析淘宝卖家订单详情API接口,用json返回数据
淘宝卖家订单详情API(taobao.trade.fullinfo.get)是淘宝开放平台提供的重要接口,用于获取单个订单的完整信息,包括订单状态、买家信息、商品明细、支付与物流信息等,支撑订单管理、ERP对接及售后处理。需通过appkey、appsecret和session认证,并遵守调用频率与数据权限限制。本文详解其使用方法并附Python调用示例。
|
24天前
|
缓存 API 网络架构
淘宝item_search_similar - 搜索相似的商品API接口,用python返回数据
淘宝联盟开放平台中,可通过“物料优选接口”(taobao.tbk.dg.optimus.material)实现“搜索相似商品”功能。该接口支持根据商品 ID 获取相似推荐商品,并返回商品信息、价格、优惠等数据,适用于商品推荐、比价等场景。本文提供基于 Python 的实现示例,包含接口调用、数据解析及结果展示。使用时需配置淘宝联盟的 appkey、appsecret 和 adzone_id,并注意接口调用频率限制和使用规范。
|
26天前
|
JSON API 开发者
淘宝店铺的所有商品API接口,Curl返回数据
淘宝平台未开放获取全店商品的公共API,开发者可通过阿里妈妈的淘宝联盟API获取参与推广的商品。需成为联盟开发者、创建应用,并通过adzone_id关联店铺。使用taobao.tbk.shop.get和taobao.tbk.item.info.get接口,可获取商品列表及详情,但需注意签名生成、调用频率限制及合规要求。未参与推广的商品无法通过该方式获取。
|
27天前
|
人工智能 JSON 算法
抖音电商 API 赋能,抖音平台达人合作数据精准对接
抖音电商API为品牌与达人合作提供精准数据对接,提升匹配效率与营销精准度,助力电商生态智能化升级。
115 1
|
26天前
|
JSON 数据挖掘 API
淘宝详情API接口与高级详情API接口用json返回数据区别
淘宝“商品详情API”与“高级商品API”主要区别在于数据深度、字段丰富度及适用场景。前者适用于轻量级导购展示,后者支持详情页展示与深度分析,需根据业务需求选择使用。
|
29天前
|
监控 算法 API
电商API接口对接实录:淘宝优惠券接口对接处理促销监控系统
在电商开发中,淘宝详情页的“券后价计算”是极易出错的环节。本文作者结合实战经验,分享了因忽略满减券门槛、有效期、适用范围等导致的踩坑经历,并提供了完整的解决方案,包括淘宝API签名生成、券后价计算逻辑、常见坑点及优化建议,助力开发者精准实现券后价功能,避免业务损失。
|
2月前
|
人工智能 监控 API
API即生产力:电商行业如何用“数字接口”重构竞争壁垒?
电商API作为连接平台、商家、物流与支付的“数字钥匙”,正系统性破解数据孤岛、运营低效、决策滞后与体验断层等传统电商痛点。通过数据实时同步、流程自动化、智能分析与服务闭环,API助力企业提升效率、优化决策、增强用户体验,并推动全行业向智能化、数字化跃迁。
|
1月前
|
JSON 算法 API
淘宝商品评论API接口核心解析,json数据返回
淘宝商品评论API是淘宝开放平台提供的数据服务接口,允许开发者通过编程方式获取指定商品的用户评价数据,包括文字、图片、视频评论及评分等。其核心价值在于:
|
1月前
|
域名解析 JSON API
【干货满满】如何处理requests库调用API接口时的异常情况
在调用 API 时,网络波动、服务器错误、参数异常等情况难以避免。本文提供一套系统化的异常处理方案,涵盖 requests 库常见异常类型、处理策略、实战代码与最佳实践,通过分类处理、重试机制与兜底策略,提升接口调用的稳定性与可靠性。