篮球数据API接口 - 【联赛资料】API调用示例代码

11 篇文章 0 订阅
6 篇文章 0 订阅

分享使用接口调用的示例代码,篮球数据【联赛资料】接口

import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.ByteArrayInputStream;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;

/**
 * @API: 4.联赛、赛事资料
 */
public class BasketballLeagueInfo {

    public static void main(String[] args) {
        try {
            String content = getContent();

            JAXBContext jaxbContext = JAXBContext.newInstance(LeagueList.class);
            Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();

            LeagueList list = (LeagueList) unmarshaller.unmarshal(new ByteArrayInputStream(content.getBytes()));
            list.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/BasketballLeagueInfo.xml"), StandardCharsets.UTF_8);
            lines.forEach(builder::append);
            return builder.toString();
        } catch (Throwable t) {
            t.printStackTrace();
            return "";
        }
    }

    @XmlRootElement(name = "list")
    public static class LeagueList {
        @XmlElement(name = "match")
        private List<League> leagueList;

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

    public static class League {
        @XmlElement(name = "id")
        private String id;
        @XmlElement(name = "short")
        private String nameShort;
        @XmlElement(name = "gb")
        private String nameGb;
        @XmlElement(name = "big")
        private String nameBig;
        @XmlElement(name = "en")
        private String nameEn;
        @XmlElement(name = "type")
        private int type;
        @XmlElement(name = "Curr_matchSeason")
        private String currentSeason;
        @XmlElement(name = "countryID")
        private String countryId;
        @XmlElement(name = "country")
        private String countryName;
        @XmlElement(name = "curr_year")
        private int currentYear;
        @XmlElement(name = "curr_month")
        private int currentMonth;
        @XmlElement(name = "sclass_kind")
        private int kind;

        @Override
        public String toString() {
            return "League{" +
                    "id='" + id + '\'' +
                    ", nameShort='" + nameShort + '\'' +
                    ", nameGb='" + nameGb + '\'' +
                    ", nameBig='" + nameBig + '\'' +
                    ", nameEn='" + nameEn + '\'' +
                    ", type=" + type +
                    ", currentSeason='" + currentSeason + '\'' +
                    ", countryId='" + countryId + '\'' +
                    ", countryName='" + countryName + '\'' +
                    ", currentYear=" + currentYear +
                    ", currentMonth=" + currentMonth +
                    ", kind=" + kind +
                    '}';
        }
    }
}

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

League{id='1', nameShort='NBA', nameGb='美国男子职业篮球联赛', nameBig='美國男子職業籃球聯賽', nameEn='National Basketball Association', type=4, currentSeason='18-19', countryId='1', countryName='美国', currentYear=2011, currentMonth=11, kind=1}
League{id='2', nameShort='WNBA', nameGb='美国女子职业篮球联赛', nameBig='美國女子職業籃球聯賽', nameEn='Women’s National Basketball Association', type=4, currentSeason='19', countryId='1', countryName='美国', currentYear=2011, currentMonth=9, kind=1}
League{id='3', nameShort='斯坦杯', nameGb='斯坦科维奇洲际冠军杯', nameBig='斯坦科域治洲際冠軍盃', nameEn='Stank Vic Basketball Champions LeagueChampions Cup', type=4, currentSeason='18', countryId='20', countryName='国际赛事', currentYear=2011, currentMonth=8, kind=2}
League{id='5', nameShort='CBA', nameGb='中国男子篮球联赛', nameBig='中國男子籃球聯賽', nameEn='Chinese Basketball Association', type=4, currentSeason='18-19', countryId='2', countryName='中国', currentYear=2011, currentMonth=11, kind=1}
League{id='7', nameShort='Euro', nameGb='欧洲篮球冠军联赛', nameBig='歐洲籃球冠軍聯賽', nameEn='EURO', type=4, currentSeason='19-20', countryId='16', countryName='欧洲赛事', currentYear=2011, currentMonth=10, kind=2}
League{id='8', nameShort='NCAA', nameGb='美国大学男子篮球联赛', nameBig='美國大學男子籃球聯賽', nameEn='National Committee Association America', type=2, currentSeason='18-19', countryId='1', countryName='美国', currentYear=2009, currentMonth=11, kind=1}
League{id='9', nameShort='女南锦U17', nameGb='南美洲女子篮球锦标赛U17', nameBig='女南錦U17', nameEn='FIBA Sudamericano Femenino U17', type=4, currentSeason='17', countryId='18', countryName='美洲赛事', currentYear=2011, currentMonth=6, kind=2}
League{id='10', nameShort='篮世杯', nameGb='篮球世界杯', nameBig='籃球世界盃', nameEn='FIBA Basketball World Cup', type=4, currentSeason='19', countryId='20', countryName='国际赛事', currentYear=2010, currentMonth=8, kind=2}
League{id='13', nameShort='世女俱', nameGb='世女俱', nameBig='世女俱', nameEn='The world women Club', type=4, currentSeason='17', countryId='20', countryName='国际赛事', currentYear=2007, currentMonth=10, kind=2}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值