第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

跪求!GraphQL可以實現(xiàn)獲取多個資源只用一個請求,這個是能覆蓋所有場景的么,我們應(yīng)該怎么做取舍

跪求!GraphQL可以實現(xiàn)獲取多個資源只用一個請求,這個是能覆蓋所有場景的么,我們應(yīng)該怎么做取舍

慕標(biāo)琳琳 2019-09-26 08:53:58
問題描述GraphQL可以實現(xiàn)獲取多個資源只用一個請求,這個應(yīng)該是覆蓋不到所有場景的吧,很多情況下我們并不能做到一個頁面只寫一次GraphQL查詢,就可以獲取這個頁面需要的所有數(shù)據(jù)的問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法有一種場景:一個頁面里展示的信息,info1,info2,info3,前端需要請求多個接口,info1對應(yīng)的接口A中的a字段,info2對應(yīng)的接口B中的b字段,info3對應(yīng)的接口C中的c字段///api/user/A{id:1111,name:'張三',a:'當(dāng)前頁面要展示的info1',b:'b'//其他字段}///api/order/B{id:2222,name:'hahah',a:'a'b:'當(dāng)前頁面要展示的info2',//其他字段}///api/system/C{id:3333,name:'hehe',a:'a'c:'當(dāng)前頁面要展示的info3',//其他字段}這個時候,稍微有點(diǎn)脾氣的前端,都會去找后端撕逼,前端A:“就這三個字段,你還讓我請求三個接口,你不能一個接口都返回給我嗎”,后端B:“哎,我也想啊,但是xxxxx,所以我這邊不好改,”,...最后那就這樣吧。當(dāng)然,我舉得這個例子是一個很簡單的場景,實際開發(fā)過程中要比這個還要復(fù)雜;如果使用GraphQL的話,前端自己寫查詢,這個頁面需要哪些需哪數(shù)據(jù),后端就返回給哪些數(shù)據(jù),這是考慮到后端所有的接口都在同一個域下面,但是一般比較復(fù)雜的系統(tǒng),后端都會分為不同的域,用戶域,商品域,基礎(chǔ)模塊域,交易域等等,這時即使用了GraphQL也可能后端C:“你看其他都不是我負(fù)責(zé)的域,我要是自己給你封裝一個,我自己底層需要經(jīng)過xxxxx等復(fù)雜的步驟去獲取其他域的,這個很復(fù)雜,你還是直接去他哪個域去查詢吧”,有兩種方法,你就再多寫一個GraphQL自己寫一個node中間層,中間層來處理這些接口數(shù)據(jù)的聚合,換句話說,中間層來聚合成一個GraphQL查詢來返回給前端,中間層分別取調(diào)用服務(wù)端的三個接口,然后把三個接口返回的數(shù)據(jù)聚合成前端所需要的疑問就是,有沒有更好的辦法來實現(xiàn)調(diào)用一個接口查詢多個資源的問題?
查看完整描述

2 回答

  • 2 回答
  • 0 關(guān)注
  • 287 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號