【GraphQL】Apollo Server初體驗 (Nodejs篇)
GraphQL是一種用於API的查詢語言,這項技術是由Facebook從2012年開始使用,為了因應跨裝置及開發News Feed功能而開發,後來覺得不錯用,所以就於2015年公開釋出,它讓Query更加自由,以往如果要新增一組Query,就必須跟後臺人員溝通,現在可以讓前臺的人有很大的空間去修改(工作又多了一項?),有效減少Request的次數,是不是聽起來很不錯啊?現在就來試試看吧,Let’s go。
安裝
基本環境
- 首先要有Nodejs的環境,然後安裝Apollo Server
node -v
npm -v
mkdir graphql_demo
cd graphql_demo
npm init -y
npm install --save apollo-server qraphql
Hello World
- 先寫一段簡單的index.js試試看吧
// index.js
const { ApolloServer, gql } = require('apollo-server');
const typeDefs = gql`
type Query {
"A simple type for getting started!"
hello: String
}
`;
const resolvers = {
Query: {
hello: () => 'world'
}
};
const server = new ApolloServer({
typeDefs,
resolvers
});
server.listen().then(({ url }) => {
console.log(`? Server ready at ${url}`);
});
node index.js
開啟網頁
- 開啟http://localhost:4000後,可以在該左側輸入查詢語法試試
query {
hello
}
利用npm開啟
- 雖然直接使用node指令來開啟index.js是可以的,但是一般還是利用npm - package.json來管理比較方便
"start": "node index.js"
測試API神器
{
"query": "query: { hello }"
}
後記
- 就個人的感覺,GraphQL比較像是對資料做兩次搜尋,將得來不易的資料結果好好利用,讓後端的負擔減輕。另外GraphQL是一門新的東東,至於將來的發展呢?這裡有一篇文章可以參考一下,阻礙你使用 GraphQL 的十個問題。