电竞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}
相关文章
|
2月前
|
JSON 安全 API
亚马逊商品列表API秘籍!轻松获取商品列表数据
亚马逊商品列表API(SP-API)提供标准化接口,支持通过关键词、分类、价格等条件搜索商品,获取ASIN、价格、销量等信息。采用OAuth 2.0认证与AWS签名,保障安全。数据以JSON格式传输,便于开发者批量获取与分析。
|
2月前
|
JSON 缓存 算法
如何通过API获取1688商品类目数据:技术实现指南
1688开放平台提供alibaba.category.get接口,支持获取全量商品类目树。RESTful架构,返回JSON数据,含类目ID、名称、层级等信息。需注册账号、创建应用并授权。请求需签名认证,QPS限10次,建议缓存更新周期≥24小时。
245 2
|
2月前
|
XML JSON API
苏宁商品详情API秘籍!轻松获取商品详情数据
苏宁商品详情API基于RESTful架构,支持JSON/XML格式,通过AppKey、AppSecret与签名三重认证,结合OAuth 2.0实现安全调用。开发者可获取商品名称、价格、销量、库存、促销等实时数据,适用于电商分析与商业智能。接口强制使用HTTPS协议,支持POST/GET请求,统一采用UTF-8编码,确保数据传输安全可靠。
|
2月前
|
自然语言处理 监控 API
速卖通商品详情API秘籍!轻松获取SKU属性数据
速卖通商品详情API(aliexpress.item.get)支持通过编程获取商品标题、价格、SKU、库存、销量、物流模板、评价及店铺信息,适用于价格监控、选品分析等场景。接口支持多语言返回,采用AppKey+AppSecret+Token认证,需签名验证,确保安全调用。
|
2月前
|
安全 API
亚马逊商品详情 API 秘籍!轻松获取 SKU 属性数据
亚马逊商品详情API是官方接口,通过ASIN获取商品标题、价格、库存、评价等50余项数据,支持多站点查询。包含Product Advertising API与MWS两类,分别用于商品信息获取和卖家店铺管理,采用AWS4-HMAC-SHA256认证,保障请求安全。
|
2月前
|
人工智能 自然语言处理 测试技术
Apipost智能搜索:只需用业务语言描述需求,就能精准定位目标接口,API 搜索的下一代形态!
在大型项目中,API 数量庞大、命名不一,导致“找接口”耗时费力。传统工具依赖关键词搜索,难以应对语义模糊或命名不规范的场景。Apipost AI 智能搜索功能,支持自然语言查询,如“和用户登录有关的接口”,系统可理解语义并精准匹配目标接口。无论是新人上手、模糊查找还是批量定位,都能大幅提升检索效率,降低协作成本。从关键词到语义理解,智能搜索让开发者少花时间找接口,多专注核心开发,真正实现高效协作。
|
弹性计算 Java API
API经济最主要是学会调用API
众所周知,阿里云提供了全方位、多层次的云计算产品体系。阿里巴巴技术委员会主席王坚博士说过,要让云计算像水电一样方便获得。为了开发者无缝衔接阿里云的众多服务,将它们集成到自己的应用系统,阿里云开放了API和用来访问API的工具SDK。
2531 0
|
2月前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。
|
2月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
3月前
|
数据可视化 测试技术 API
从接口性能到稳定性:这些API调试工具,让你的开发过程事半功倍
在软件开发中,接口调试与测试对接口性能、稳定性、准确性及团队协作至关重要。随着开发节奏加快,传统方式已难满足需求,专业API工具成为首选。本文介绍了Apifox、Postman、YApi、SoapUI、JMeter、Swagger等主流工具,对比其功能与适用场景,并推荐Apifox作为集成度高、支持中文、可视化强的一体化解决方案,助力提升API开发与测试效率。