鍍金池/ 問(wèn)答/Python  網(wǎng)絡(luò)安全/ python 應(yīng)該如何寫(xiě)GraphQL查詢(xún)語(yǔ)句

python 應(yīng)該如何寫(xiě)GraphQL查詢(xún)語(yǔ)句

這個(gè)東西我看了下,有點(diǎn)迷,給了語(yǔ)句的格式,例如:

{
  viewer {
    name
  }
}

使用這個(gè)查詢(xún)語(yǔ)句可以得到結(jié)果,問(wèn)題是如果我在python代碼里面,應(yīng)該如何去寫(xiě)這個(gè)語(yǔ)句?
一般的套路應(yīng)該是利用requests模塊,對(duì)接口地址請(qǐng)求,加上參數(shù),上面這一段應(yīng)該是參數(shù)了,怎么說(shuō)也要有個(gè)類(lèi)型什么的吧,比如json,dict,就像下面這樣

params = {}
url = endpoitt_url
res = requests.post(url=url, params=params)

這個(gè)查詢(xún)語(yǔ)句應(yīng)該以什么樣的形式給到params? 求大佬指導(dǎo)下

回答
編輯回答
厭遇

graphql的本質(zhì)其實(shí)是字符串,所以你如果是前端只需要傳遞字符串即可

params = {'query': '''{
  viewer {
    name
  }
}'''}
res = requests.post(url=url, params=params)

其中query是自定義的參數(shù)名,取決于后端如何解析,graphql對(duì)后端的要求較高,目前除了nodejs沒(méi)有特別好用的后端。
個(gè)人感覺(jué)graphql特別適合查詢(xún)圖數(shù)據(jù)庫(kù),對(duì)于關(guān)系型數(shù)據(jù)庫(kù)我一直沒(méi)找到比較好用的后端模塊

2017年9月12日 18:48