🐥
GraphQLのクエリについて
概要
GitHub API v4を用いてGraphQLのクエリについて学んでいきます。
自分のプロフィールを取得
自身の人物紹介と登録日を取得します。
query {
user(login: "1s22s1") {
createdAt
bio
}
}
レスポンスは、以下になります。
{
"data": {
"user": {
"createdAt": "2021-01-15T14:28:02Z",
"bio": "お腹がいっぱいです。"
}
}
}
自分のプロフィールとレポジトリを取得
自身のプロフィールとレポジトリの作成日と名前を取得します。
query {
user(login: "1s22s1") {
createdAt
bio
repositories(first: 3) {
edges {
node {
createdAt
name
}
}
}
}
}
レスポンスは、以下になります。
{
"data": {
"user": {
"createdAt": "2021-01-15T14:28:02Z",
"bio": "お腹がいっぱいです。",
"repositories": {
"edges": [
{
"node": {
"createdAt": "2022-12-29T13:44:26Z",
"name": "dotfiles"
}
},
{
"node": {
"createdAt": "2023-01-01T11:44:20Z",
"name": "back_up"
}
},
{
"node": {
"createdAt": "2023-01-01T12:24:17Z",
"name": "1s22s1"
}
}
]
}
}
}
}
自分がフォローしている方を取得
自身がフォローしている方の名前を取得します。
query {
user(login: "1s22s1") {
following(first: 3) {
edges {
node {
name
}
}
}
}
}
レスポンスは、以下になります。
{
"data": {
"user": {
"following": {
"edges": [
{
"node": {
"name": "Alexander Wang"
}
},
{
"node": {
"name": "Satoshi Terasaki"
}
}
]
}
}
}
}
レポジトリに星を付けている方を取得
レポジトリに星を付けている方の名前を取得します。
{
repository(owner: "terrastruct", name: "d2") {
stargazers(first: 3) {
nodes {
name
}
}
}
}
レスポンスは、以下になります。
{
"data": {
"repository": {
"stargazers": {
"nodes": [
{
"name": "Anmol Sethi"
},
{
"name": "Chafik HADJ ABDOU RAZACK"
},
{
"name": "Nandhagopal B"
}
]
}
}
}
}
Discussion