iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 1
0

GraphQL: 我只為API而生

前一篇提到關於REST資源相依以及複雜查詢的問題,GraphQL可以解決,就讓我們瞧一瞧吧!

GraphQL是2012年Facebook內部用來面對繁雜又多的API而開發的,2015年開源讓大家使用,那GraphQL是什麼呢?

GraphQL是一種查詢語言,API竟然還有語言,哪尼!,我們來看看他是如何運作。
我們先建立一個Schema來對應查詢的資料與型態

var schema = buildSchema(`
  type User {
    id: ID!
    name: String!
  }

  type Post {
    id: ID!
    title: String!
    body: String!
  }

  type Query {
    users: [User!]!
    posts: [Post!]!
  }
`);

接下來是解析函式,負責解析query

const rootValue = {
  language: () => 'GraphQL'
}

所謂語言就有語法,我們來下一個語法....

{
  me {
    name
  }
}

透過GraphQL server解析後產生JSON結果

{
  "me": {
    "name": "Luke Skywalker"
  }
}

總結:基礎構造就這三樣東西,Schema、解析函式、查詢語法


上一篇
Day05 - REST 優缺點
下一篇
Day07 - 該使用GraphQL嗎? GraphQL優缺點比較
系列文
30天精通Api (REST vs GraphQL)12

尚未有邦友留言

立即登入留言