何かやってみるブログ

興味をもったこと、趣味のこと、技術について色々書きます。

雰囲気でLeetCodeのGraphQLのAPIを叩いてみた。

今まで仕事でも使わないし身近でGraphQLを使う機会がなくGraphQL? 何それ美味しいの?って感じであったが、LeetCodeのAPIを叩くときGraphQLに出会ったのでメモに残す。

対象のAPIは今まで解いた問題の数や解いた問題の難易度別の内訳みたいなものを返してくるものにする。

f:id:s-takaya1027:20220402170331p:plain

f:id:s-takaya1027:20220402170251p:plain

curlで叩いてみる。

curl -X POST \
    --header 'Content-Type: application/json'\
    https://leetcode.com/graphql \
    -d '{"query":"\n    query userProblemsSolved($username: String!) {\n  allQuestionsCount {\n    difficulty\n    count\n  }\n  matchedUser(username: $username) {\n    problemsSolvedBeatsStats {\n      difficulty\n      percentage\n    }\n    submitStatsGlobal {\n      acSubmissionNum {\n        difficulty\n        count\n      }\n    }\n  }\n}\n    ","variables":{"username":"TakayaSugiyama"}}'

クエリ

query userProblemsSolved($username: String!) {
  allQuestionsCount {
    difficulty
    count
  }
  matchedUser(username: $username) {
    problemsSolvedBeatsStats {
      difficulty
      percentage
    }
    submitStatsGlobal {
      acSubmissionNum {
        difficulty
        count
      }
    }
  }
}

Variables

variables: {username: "TakayaSugiyama"}

レスポンス

f:id:s-takaya1027:20220402170828p:plain

graphiql-app(GUI) から叩いてみる

github.com

f:id:s-takaya1027:20220402173952p:plain