電競CSGO數據API接口 - 【近期賽事列表】API調用示例代碼

分享使用 飛鯨體育數據 www.feijing88.com 接口調用的示例代碼,CSGO的【近期賽事列表】接口。

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 CsgoMatch {

    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.getMatchList().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/CsgoMatch.json"), StandardCharsets.UTF_8);
            lines.forEach(builder::append);
            return builder.toString();
        } catch (Throwable t) {
            t.printStackTrace();
            return "";
        }
    }


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

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

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

        public void setMatchList(List<Match> matchList) {
            this.matchList = matchList;
        }

        public int getCode() {
            return code;
        }

        public String getMessage() {
            return message;
        }

        public List<Match> getMatchList() {
            return matchList;
        }
    }

    public static class Match {
        @JSONField
        private String matchId;
        @JSONField
        private String leagueId;
        @JSONField
        private int bo;
        @JSONField
        private int status;
        @JSONField
        private long matchTime;
        @JSONField
        private String stage;
        @JSONField
        private List<String> mapBp;
        @JSONField
        private List<String> battleIds;
        @JSONField
        private int teamAScore;
        @JSONField
        private int teamAId;
        @JSONField
        private int teamBScore;
        @JSONField
        private int teamBId;

        @Override
        public String toString() {
            return "Match{" +
                    "matchId='" + matchId + '\'' +
                    ", leagueId='" + leagueId + '\'' +
                    ", bo=" + bo +
                    ", status=" + status +
                    ", matchTime=" + matchTime +
                    ", stage='" + stage + '\'' +
                    ", mapBp=" + mapBp +
                    ", battleIds=" + battleIds +
                    ", teamAScore=" + teamAScore +
                    ", teamAId=" + teamAId +
                    ", teamBScore=" + teamBScore +
                    ", teamBId=" + teamBId +
                    '}';
        }

        public String getMatchId() {
            return matchId;
        }

        public void setMatchId(String matchId) {
            this.matchId = matchId;
        }

        public String getLeagueId() {
            return leagueId;
        }

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

        public int getBo() {
            return bo;
        }

        public void setBo(int bo) {
            this.bo = bo;
        }

        public int getStatus() {
            return status;
        }

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

        public long getMatchTime() {
            return matchTime;
        }

        public void setMatchTime(long matchTime) {
            this.matchTime = matchTime;
        }

        public String getStage() {
            return stage;
        }

        public void setStage(String stage) {
            this.stage = stage;
        }

        public List<String> getMapBp() {
            return mapBp;
        }

        public void setMapBp(List<String> mapBp) {
            this.mapBp = mapBp;
        }

        public List<String> getBattleIds() {
            return battleIds;
        }

        public void setBattleIds(List<String> battleIds) {
            this.battleIds = battleIds;
        }

        public int getTeamAScore() {
            return teamAScore;
        }

        public void setTeamAScore(int teamAScore) {
            this.teamAScore = teamAScore;
        }

        public int getTeamAId() {
            return teamAId;
        }

        public void setTeamAId(int teamAId) {
            this.teamAId = teamAId;
        }

        public int getTeamBScore() {
            return teamBScore;
        }

        public void setTeamBScore(int teamBScore) {
            this.teamBScore = teamBScore;
        }

        public int getTeamBId() {
            return teamBId;
        }

        public void setTeamBId(int teamBId) {
            this.teamBId = teamBId;
        }
    }
}

API 返回數據如下(部分): 

200
成功
Match{matchId='7881910', leagueId='9396', bo=3, status=0, matchTime=1566289800000, stage='Stage 2 upper bracket final', mapBp=[], battleIds=[], teamAScore=0, teamAId=1758, teamBScore=0, teamBId=5731}
Match{matchId='7881156', leagueId='9320', bo=3, status=0, matchTime=1566298500000, stage='Lower bracket round 2', mapBp=[], battleIds=[], teamAScore=0, teamAId=5532, teamBScore=0, teamBId=4468}
Match{matchId='7881150', leagueId='9403', bo=3, status=0, matchTime=1566298800000, stage='Lower bracket final', mapBp=[], battleIds=[], teamAScore=0, teamAId=5603, teamBScore=0, teamBId=3057}
Match{matchId='7881135', leagueId='9336', bo=3, status=0, matchTime=1566306000000, stage='Semi-final', mapBp=[1. Syman removed Nuke, 2. HAVU removed Mirage, 3. Syman picked Train, 4. HAVU picked Dust2, 5. Syman removed Overpass, 6. HAVU removed Inferno, 7. Vertigo was left over], battleIds=[], teamAScore=0, teamAId=4337, teamBScore=0, teamBId=3421}
Match{matchId='7881157', leagueId='9320', bo=3, status=0, matchTime=1566309300000, stage='Upper bracket final', mapBp=[], battleIds=[], teamAScore=0, teamAId=5743, teamBScore=0, teamBId=4892}
Match{matchId='7881158', leagueId='9320', bo=3, status=0, matchTime=1566320100000, stage='Lower bracket round 2', mapBp=[], battleIds=[], teamAScore=0, teamAId=4801, teamBScore=0, teamBId=3421}
Match{matchId='7881810', leagueId='9105', bo=1, status=0, matchTime=1566331200000, stage='Group stage', mapBp=[], battleIds=[], teamAScore=0, teamAId=3632, teamBScore=0, teamBId=5560}
Match{matchId='7881895', leagueId='9105', bo=1, status=0, matchTime=1566331200000, stage='Group stage', mapBp=[], battleIds=[], teamAScore=0, teamAId=60665, teamBScore=0, teamBId=4507}
Match{matchId='7881816', leagueId='9105', bo=1, status=0, matchTime=1566334800000, stage='Group stage', mapBp=[], battleIds=[], teamAScore=0, teamAId=2088, teamBScore=0, teamBId=5068}
Match{matchId='7881817', leagueId='9105', bo=1, status=0, matchTime=1566334800000, stage='Group stage', mapBp=[], battleIds=[], teamAScore=0, teamAId=9338, teamBScore=0, teamBId=5768}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章