[發(fā)明專利]一種生成GraphQL前端操作接口的方法及裝置在審
| 申請?zhí)枺?/td> | 201811377532.1 | 申請日: | 2018-11-19 |
| 公開(公告)號: | CN111198678A | 公開(公告)日: | 2020-05-26 |
| 發(fā)明(設(shè)計)人: | 范溢貞;劉曉鐘;苗輝 | 申請(專利權(quán))人: | 貴州白山云科技股份有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F8/38 |
| 代理公司: | 北京名華博信知識產(chǎn)權(quán)代理有限公司 11453 | 代理人: | 苗源;白瑩 |
| 地址: | 550003 貴州省貴陽市*** | 國省代碼: | 貴州;52 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 生成 graphql 前端 操作 接口 方法 裝置 | ||
本發(fā)明公開了一種生成GraphQL前端操作接口的方法及裝置。所公開的方法包括:通過GUI向開發(fā)人員顯示GraphQL服務(wù)端所支持的所有類型和對象的信息;通過GUI獲取開發(fā)人員需要操作的選定對象的選定信息;基于選定對象的選定信息,自動構(gòu)建GraphQL的前端操作接口,其中,類型包括schema類型,選定信息包括選定對象中的選定字段的屬性、一個或多個選定字段的具體字段值,前端操作包括query、mutation和subscription中的至少一種。所公開的技術(shù)方案能夠快速生成前端操作接口,不需要開發(fā)人員手動編寫代碼。
技術(shù)領(lǐng)域
本發(fā)明涉及計算機網(wǎng)絡(luò)應(yīng)用開發(fā)領(lǐng)域,尤其涉及一種生成GraphQL前端操作接口的方法及裝置。
背景技術(shù)
GraphQL是目前計算機網(wǎng)絡(luò)應(yīng)用開發(fā)領(lǐng)域中的一種革命性的API工具,與傳統(tǒng)的RESTful API不同,無需在服務(wù)端預(yù)定義客戶端所需要的操作數(shù)據(jù),而是可以讓客戶端直接在請求中指定所需要的操作數(shù)據(jù)。
GraphQL既是一種用于API的查詢語言,也是一個滿足數(shù)據(jù)查詢的運行時。GraphQL對API中的數(shù)據(jù)提供了一套易于理解的完整描述,使得客戶端能夠準(zhǔn)確地獲得需要的數(shù)據(jù),而且沒有任何冗余,也讓API更容易地隨著時間推移而演進,還能用于構(gòu)建強大的開發(fā)人員工具。例如,通過高級語言實現(xiàn)的API向GraphQL服務(wù)端發(fā)出一個GraphQL請求就能準(zhǔn)確獲得你想要的數(shù)據(jù),不多不少。GraphQL請求總是返回可預(yù)測的結(jié)果。使用GraphQL可以讓開發(fā)工作或查詢工作進行得又快又穩(wěn),因為控制數(shù)據(jù)的是應(yīng)用,而不是服務(wù)器。
GraphQL查詢不僅能夠獲得資源的屬性,還能沿著資源間的引用關(guān)系進一步遞歸查詢。典型的RESTful API請求多個資源時需要載入多個URL,而GraphQL可以通過一次請求就能夠獲取所需要的所有數(shù)據(jù)。因此,即使是在比較慢的移動網(wǎng)絡(luò)連接下,使用GraphQL的應(yīng)用的響應(yīng)速度也能表現(xiàn)得足夠迅速。
雖然GraphQL比RESTful API更具優(yōu)勢,但是開發(fā)人員仍然需要根據(jù)用戶需求(對應(yīng)于具體的頁面操作)來逐一編寫查詢語句(即,GraphQL專用的前端操作接口),然后再在客戶端通過使用高級編程語言編寫的函數(shù)(即,方法)來調(diào)用各個前端操作接口。更具體地,開發(fā)人員目前通常是通過GraphQL提供的(聯(lián)機)幫助文檔快速查詢想要的數(shù)據(jù)(包括所涉及的對象和對象類型、對象中的字段、字段的類型等),但是當(dāng)類型和字段過多的時候,需要人工維護的成本過大,數(shù)據(jù)轉(zhuǎn)換也沒法統(tǒng)一。因此,頁面邏輯越復(fù)雜,類型和字段就越多,編寫成本就越大。
另外,開發(fā)人員會根據(jù)類型在項目中維護和管理對應(yīng)的接口列表,當(dāng)GraphQL的字段發(fā)生變化,也需要到指定文件里面修改schema,維護和管理的成本也比較大。而且,開發(fā)人員在維護數(shù)據(jù)和數(shù)據(jù)轉(zhuǎn)換上并沒有通用的方案,有時候是在API的文件里面,有時候是在View層的代碼中。
因此,為了簡化開發(fā)人員的開發(fā)操作的過程,提高開發(fā)效率,需要提出新的技術(shù)方案。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的生成GraphQL前端操作接口的方法,包括:
通過GUI向開發(fā)人員顯示GraphQL服務(wù)端所支持的所有類型和對象的信息;
通過GUI獲取開發(fā)人員需要操作的選定對象的選定信息;
基于選定對象的選定信息,自動構(gòu)建GraphQL的前端操作接口,
其中,類型包括schema類型,選定信息包括選定對象中的選定字段的屬性、一個或多個選定字段的具體字段值,前端操作包括query、mutation和subscription中的至少一種。
根據(jù)本發(fā)明的生成GraphQL前端操作接口的方法,還包括:
在本地和/或在服務(wù)器端存儲前端操作接口。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于貴州白山云科技股份有限公司,未經(jīng)貴州白山云科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811377532.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種GraphQL請求的優(yōu)化方法及系統(tǒng)
- 一種生成GraphQL前端操作接口的方法及裝置
- 數(shù)據(jù)處理方法以及網(wǎng)關(guān)系統(tǒng)
- YANG配置數(shù)據(jù)模型上支持基于GraphQL的查詢
- 基于GraphQL的數(shù)據(jù)處理方法及裝置、服務(wù)終端及存儲介質(zhì)
- 一種基于GraphQL的類元數(shù)據(jù)框架
- 可配置數(shù)據(jù)源的DataFetcher實現(xiàn)系統(tǒng)和方法
- 數(shù)據(jù)同步方法、裝置、網(wǎng)關(guān)設(shè)備及存儲介質(zhì)
- 基于FHIR標(biāo)準(zhǔn)的GraphQL查詢方法和裝置
- 一種多源數(shù)據(jù)聚合搜索方法、裝置、設(shè)備及存儲介質(zhì)





