对GraphQL有透彻的理解

SQL的风格真是很GraphQL呢,但要要轻松理解它,就需要对REST、微服务和无服务器等周边知识和术语有很多(感觉如此)GraphQL的了解。以下是阅读文章并动手实践后,“完全理解了”的记录。

首先开始学习

请阅读以下内容。

 

GraphQL引入了一种新的范式转变。
简单来说,通过从API中排除特定的用例和上下文,提高了客户端和服务器端的灵活性。
通过API不具备特定的用例和上下文,
客户端可以最大限地利用可用信息构建灵活的用户界面,为用户提供最大的价值。
服务器端可以根据后端需求构建领域逻辑。

实际上,如果使用GraphQL,REST就变成了一个具有上下文的API(在提供之前需要固定响应表示)。这一点让我们意识到,它如何将客户端的UI表示和后端架构固定下来。

总之,有这么好的事情。

请阅读以下内容。

 

如果你从来没有使用过GraphQL,我建议你在https://github.com/APIs-guru/graphql-apis上选择2、3个API尝试一下,这样你就能大致了解它的作用了。(我个人喜欢宝可梦、星战和Spotify。) 当你尝试使用GraphQL的API时,你会发现你可以使用它而不需要关心API的后端实现方式。

概念图是这个

image.png

根据推荐

 

由于以下教程非常简单,令人想要尝试。

 

是的。可以快速搭建环境。

步骤 (bù

使用npm安装并保存graphql: npm install –save graphql

mkdir src
touch src/index.js

使用npm安装apollo-server

const { ApolloServer } = require('apollo-server');

// 1
const typeDefs = `
  type Query {
    info: String!
  }
`

// 2
const resolvers = {
  Query: {
    info: () => `API でありますまいか`
  }
}

// 3
const server = new ApolloServer({
  typeDefs,
  resolvers,
})

server
  .listen()
  .then(({ url }) =>
    console.log(`Server is running on ${url}`)
  );

为了更容易理解,在这里加入了日语。
使用 `node src/index.js` 来启动。
尝试在 http://localhost:4000/ 上发送以下内容。

query {
  info
}

这个结果能得到吗?这就是GraphQL的起源。

实际应用案例 ànlì)

 

以下的查询可以在 https://graphql-weather-api.herokuapp.com/ 上执行。


# Write your query or mutation here
query {
  getCityByName(name: "Tokyo") {
    id
    name
    country
    coord {
      lon
      lat
    }
    weather {
      summary {
        title
        description
        icon
      }
      temperature {
        actual
        feelsLike
        min
        max
      }
      wind {
        speed
        deg
      }
      clouds {
        all
        visibility
        humidity
      }
      timestamp
    }
  }
}

成果。
(or)
結局。

東京今天(2021/4/14)的氛圍像是被蒙上了一層迷霧。

      "weather": {
        "summary": {
          "title": "Mist",
          "description": "mist",
          "icon": "50d"
        },

总结

尝试是学习的最佳方式。在阅读以上引用的文章后,我能完全理解并记下了。

image.png

追加备注

 

如果我对你有所帮助,那就是我的幸运。

广告
将在 10 秒后关闭
bannerAds