코딩 및 가져오기 API를 사용한 소개팅

8502 단어 apijavascript
코딩의 세계로 발을 내딛는 것은 이미 인생에서 지금까지 내린 더 나은 결정 중 하나처럼 느껴졌습니다. 제 과거에는 "명문 대학"에서 부모의 영향을 받은 형사 사법 학위를 받았고, 그 뒤를 이어 거친 판매 업계에서 5년 동안 일했는데, 저는 이 일이 즐겁지 않았다고 말해야 합니다. 내가 하고 있는 일과 내가 본 미래에 대한 기쁨의 부족으로 인해 다양한 직업 변경 옵션을 흩어지게 되었고 소프트웨어 개발자가 되려는 희망을 갖게 되었습니다. 제 의붓아버지는 수년 동안 UKG의 수석 개발자였기 때문에 소프트웨어 엔지니어링의 세계는 항상 가까이 있었습니다. 그가 몇 년 동안 큰 성공을 거두고 여러 동료가 이 세상에 발을 내딛는 것을 목격한 후, 나는 내 인생에서 가장 큰 도약을 하기로 결심하고 코딩 방법을 배우기 시작했습니다.

코딩은 내가 항상 매우 틈새 시장이라고 느꼈던 것입니다. 온라인에서 JavaScript 스니펫을 볼 수 있으며 완전히 다른 알파벳을 가진 완전히 새로운 언어처럼 보입니다. 나는 이것이 내 인생의 다른 즐거움을 희생하고 완전히 낯선 것을 배우는 데 완전히 뛰어들 것이라는 것을 알고 있었지만, 퍼즐 중심의 마음가짐은 이 새로운 세계로 뛰어들기로 결정하도록 나를 밀어붙였습니다.

몇 달 동안 코딩과 JavaScript의 기초를 배우면서 반응적이고 반응이 빠른 것을 만들기 위해 코드를 결합하는 기술을 진정으로 마스터하고 싶었습니다. API는 제 첫 웹사이트를 만들 때 가장 흥미로웠던 것이 빠르게 되었습니다. 매일의 스포츠 이벤트, 날씨, 점성술 정보 및 정말 끝없는 양의 기타 정보와 같은 것을 지속적으로 업데이트하기 위해 외부 소스에서 데이터를 가져올 수 있다는 것은 미래 이벤트에 대한 많은 아이디어로 이어질 수 있습니다. 코드에 대해 알기 전에는 각 호스트가 이 데이터를 자체적으로 채우거나 생성해야 한다고 생각했지만 API는 기본 웹 개발자에게 외부 정보를 제공하여 더 많은 기회를 창출합니다.

이제 제가 빨리 알게 된 것은 대부분의 API가 특별히 필요하다고 생각하는 것보다 훨씬 더 많은 정보를 전달한다는 것입니다. 그러나 특정 데이터(이 경우 객체)를 호출할 수 있다는 것이 지금까지 극복해야 할 가장 큰 과제였습니다. 따라서 API에서 특정 데이터 집합을 올바르게 호출하는 방법을 분석해 보겠습니다. 예를 들어 첫 번째 API 가져오기 요청을 살펴보겠습니다.

fetch('https://sportspage-feeds.p.rapidapi.com/games?odds=spread&league=MLB', options)
    .then(response => response.json())
    .then(response => {
        //console.log(response);
        response.results.forEach(finalGame => { currentTeams(finalGame) })
    })

// details.innerHTML = JSON.stringify(response);

const currentTeams = (finalGame) => {
    const teams = document.createElement("p");
    teams.innerHTML = finalGame.teams.away.team + ' @ ' + finalGame.teams.home.team;
    scheduleBar.append(teams);

    teams.addEventListener('click', () => {
        //console.log(finalGame);
        renderDetails(finalGame);

    })
}

const renderDetails = (finalGame) => {
    //const element = document.createElement("div");
    //console.log(gameDetails(finalGame));
    //console.log(finalGame);
    const details = document.querySelector('#details');
    details.innerHTML = finalGame.details.seasonType;
    const odds = document.querySelector('#odds');
    odds.innerHTML = finalGame.odds[0].spread.current.awayOdds + ' ' + finalGame.odds[0].spread.current.homeOdds;
    const teams = document.querySelector('#teams');
    teams.innerHTML = finalGame.teams.away.team + ' @ ' + finalGame.teams.home.team;
    const venue = document.querySelector('#venue');
    venue.innerHTML = finalGame.venue.name;
    const gameTime = document.querySelector('#schedule');
    gameTime.innerHTML = finalGame.schedule.date;
    let todaysGame = new Date(finalGame.schedule.date);
    //console.log(finalGame.schedule.date, todaysGame);
    gameTime.innerHTML = todaysGame.toLocaleDateString('en-EN') + ' ' + todaysGame.toLocaleTimeString('en-EN');
    const gameStatus = document.querySelector('#status');
    gameStatus.innerHTML = finalGame.status;

    if (finalGame.scoreboard) {
        const currentScore = document.querySelector('#score');
        currentScore.innerHTML = finalGame.scoreboard.score.away + ' - ' + finalGame.scoreboard.score.home;
    }



{
  "status": 200,
  "time": "2022-09-20T13:19:57.022Z",
  "games": 1,
  "skip": 0,
  "results": [
    {
      "schedule": {
        "date": "2022-02-13T23:30:00.000Z",
        "tbaTime": false
      },
      "summary": "Los Angeles Rams @ Cincinnati Bengals",
      "details": {
        "league": "NFL",
        "seasonType": "postseason",
        "season": 2021,
        "conferenceGame": false,
        "divisionGame": false
      },
      "status": "final",
      "teams": {
        "away": {
          "team": "Los Angeles Rams",
          "location": "Los Angeles",
          "mascot": "Rams",
          "abbreviation": "LAR",
          "conference": "NFC",
          "division": "West"
        },
        "home": {
          "team": "Cincinnati Bengals",
          "location": "Cincinnati",
          "mascot": "Bengals",
          "abbreviation": "CIN",
          "conference": "AFC",
          "division": "North"
        }
      },
      "lastUpdated": "2022-02-14T03:02:18.640Z",
      "gameId": 278943,
      "odds": [
        {
          "spread": {
            "open": {
              "away": -4,
              "home": 4,
              "awayOdds": -110,
              "homeOdds": -115
            },
            "current": {
              "away": -4,
              "home": 4,
              "awayOdds": -110,
              "homeOdds": -110
            }
          },
          "moneyline": {
            "open": {
              "awayOdds": -193,
              "homeOdds": 166
            },
            "current": {
              "awayOdds": -196,
              "homeOdds": 168
            }
          },
          "total": {
            "open": {
              "total": 49.5,
              "overOdds": -110,
              "underOdds": -110
            },
            "current": {
              "total": 48.5,
              "overOdds": -110,
              "underOdds": -110
            }
          },
          "openDate": "2022-01-31T13:46:07.823Z",
          "lastUpdated": "2022-02-13T23:23:16.272Z"
        }
      ],
      "venue": {
        "name": "SoFi Stadium",
        "city": "Inglewood",
        "state": "CA",
        "neutralSite": true
      },
      "scoreboard": {
        "score": {
          "away": 23,
          "home": 20,
          "awayPeriods": [
            7,
            6,
            3,
            7
          ],
          "homePeriods": [
            3,
            7,
            10,
            0
          ]
        },
        "currentPeriod": 4,
        "periodTimeRemaining": "0:00"
      }
    },
    {
      "schedule": {
        "date": "2022-02-13T19:00:00.000Z",
        "tbaTime": false
      },
      "summary": "Atlanta Hawks @ Boston Celtics",
      "details": {
        "league": "NBA",
        "seasonType": "regular",
        "season": 2021,
        "conferenceGame": true,
        "divisionGame": false
      },
      "status": "final",
      "teams": {
        "away": {
          "team": "Atlanta Hawks",
          "location": "Atlanta",
          "mascot": "Hawks",
          "abbreviation": "ATL",
          "conference": "Eastern",
          "division": "Southeast"
        },
        "home": {
          "team": "Boston Celtics",
          "location": "Boston",
          "mascot": "Celtics",
          "abbreviation": "BOS",
          "conference": "Eastern",
          "division": "Atlantic"
        }


가져올 특정 데이터를 선택하는 것은 가져오려는 키에 도달하는 것입니다. 모든 개별 키를 사용하여 각 개체를 분해하면 정말 훨씬 쉬워집니다. 단일 문자열 값으로 채우기 위해 야구 경기에서 홈 팀과 원정 팀을 개별적으로 끌어오는 최근 프로젝트의 예를 분석하겠습니다. 이를 분석하기 위해 (finalGame)은 다음 API의 JSON 응답을 참조합니다. "결과". 이러한 결과가 나오면 간단히 키를 분해하고...
finalGame.teams.away.team + ' @ ' + finalGame.teams.home.team;
위에서 우리는 원정 팀과 홈 팀의 각 개별 키를 개별적으로 입력하고 두 번째 팀이 홈 팀임을 보여주기 위해 '@' 값이 있는 문자열로 가져오고 있으며 여기서 게임이 "중"에 있습니다. .

이해하기 쉽기를 바라며, 이것은 API에 액세스하는 기능에 대한 나의 첫 번째 기술 소개이자 나 자신과 코딩 방법을 배우기 위한 나의 최근 노력에 대한 약간의 소개입니다.

좋은 웹페이지 즐겨찾기