成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

初步接觸GraphQL

Alfred / 3069人閱讀

摘要:每個接口做多帶帶的開發(fā)卻又古老而不合時宜。所以的出現(xiàn)是為了更好的降低數(shù)據(jù)之間的網狀關系帶來的開發(fā)復雜度。

GraphQL 什么是GraphQL

Facebook開源的一個數(shù)據(jù)查詢語言

1、GraphQL是一門語言,有自己的語法,這點和其他編程語言是類似的
2、GraphQL是一個runtime,可以認為它是一個運行在服務器上的可以理解和響應使用GraphQL語言的請求應用程序,類似一個服務端的GraphQL翻譯

GraphQL的意義

RESTful Api的弊端隨著應用的擴展,被逐漸放大,比如接口調用次數(shù)增多,耗時太長。每個接口做多帶帶的開發(fā)卻又古老而不合時宜。所以GraphQL的出現(xiàn)是為了更好的降低數(shù)據(jù)之間的網狀關系帶來的開發(fā)復雜度。

如何使用

一個簡單的GraphQL的語法案例如下,就是一個輸入格式如下(不是JSON

    {
        user(id: 42) {
            firstName
            lastName
            email
        }
    }

會被轉換成如下輸出

    {
         "data": {
             "user": {
                 "firstName": "John",
                 "lastName": "Doe",
                 "email": "[email protected]"
             }
         }
    }

這可以看做是一次請求響應的過程

一個查詢定義如下

const queryType = new GraphQLObjectType({
         name: "RootQuery",
         fields: {
             hello: {
             type: GraphQLString,
             resolve: () => "world"
         }
     }
});

const mySchema = new GraphQLSchema({
     query: queryType
});

const inputQuery = `{ hello }`

graphql(mySchema, inputQuery).then(result => {
     console.log("Server Answer :", result.data);
});

打印log如下

Server Answer : { hello: "world" }

GraphQL內置一些基礎數(shù)據(jù)類型,然后可以自定義復雜數(shù)據(jù)類型,數(shù)據(jù)類型之間可以互相嵌套和引用,這就可以組成可配置的數(shù)據(jù)結構

GraphQL是一門強類型的語言,每個字段都必須要要有嚴格的格式約束

這門語言有很多種編程語言的實現(xiàn),graphql.js就是其中一種

對于前端而言,最簡單的使用過程就是拼接上文的hello這樣子的Query,來查詢數(shù)據(jù)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/82640.html

相關文章

  • 專治前端焦慮的學習方案

    摘要:不過今天我希望能夠更進一步,不僅僅再抱怨現(xiàn)狀,而是從我個人的角度來給出一個逐步深入學習生態(tài)圈的方案。最后,我還是想提到下對于的好的學習方法就是回顧參照各種各樣的代碼庫,學習人家的用法與實踐。 本文翻譯自A-Study-Plan-To-Cure-JavaScript-Fatigue。筆者看到里面的幾張配圖著實漂亮,順手翻譯了一波。本文從屬于筆者的Web Frontend Introduc...

    codeGoogle 評論0 收藏0
  • 用Gatsby和Strapi創(chuàng)建一個靜態(tài)博客(翻譯和自己探索過程中的經驗總結)

    摘要:用和創(chuàng)建一個靜態(tài)博客翻譯和自己探索過程中的經驗總結原文參閱或本篇主要是對其精華內容進行翻譯以及實操過程中遇到的問題解決和探索一些具體的操作步驟和細節(jié)我將忽略結合原文一起閱讀效果更佳注本文操作環(huán)境是介紹這是一個包含很多靜態(tài)內容頁面的站點從技術 用Gatsby和Strapi創(chuàng)建一個靜態(tài)博客(翻譯和自己探索過程中的經驗總結) 原文參閱: Building a static blog usin...

    lijy91 評論0 收藏0
  • Graphql實踐——像axios一樣使用Graphql

    摘要:初始化項目使用初始化項目安裝項目結構如下接口所有接口對封裝接下來對進行封裝,加上中間件實現(xiàn)類似于攔截器的效果。 Graphql嘗鮮 在只學習graphql client端知識的過程中,我們常常需要一個graphql ide來提示graphql語法,以及實現(xiàn)graphql的server端來進行練手。graphql社區(qū)提供了graphiql讓我們使用 graphiql (npm):一個交互...

    mumumu 評論0 收藏0
  • Notadd PHP 到 Node 版 初步體驗與測試

    摘要:另外,團隊更加友好的類型檢查極大方便了后端的開發(fā)。初步的性能測試無讀寫操作的接口響應時間在本地,讀寫操作接口響應時間在,已經遠低于之前版本的。并發(fā)量預估也會有不小的提升。 2.0-alpha1 預覽版本 這個版本主要用于預覽后臺,一些接口還沒對接。 Adonis.js 到 Nest.js AonisJS 是一個 Node.js 版的 Laravel ,起初是打算用 AdonisJS,...

    JinB 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<