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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何有條件地在 GraphQL 查詢中包含過(guò)濾參數(shù)?

如何有條件地在 GraphQL 查詢中包含過(guò)濾參數(shù)?

慕虎7371278 2023-07-14 10:10:58
我有以下 GraphQL 查詢(使用 Apollo Client JS):query GetUsers($searchFilter: String) {    users(        first: 10,        filter: { search: $searchFilter }    ) {        nodes {            id            name        }    }}當(dāng)我傳遞參數(shù)時(shí),這很有效$searchFilter。但是,我希望這個(gè)$searchFilter參數(shù)是可選的。因此,當(dāng)它出現(xiàn)時(shí),null它不會(huì)應(yīng)用過(guò)濾器。這看起來(lái)很簡(jiǎn)單,但 API 要求search不可為空。filter: { search: null }所以不允許傳入。我想實(shí)現(xiàn)以下目標(biāo):query GetUsers($searchFilter: String) {    users(        first: 10,        filter: $searchFilter = null ? null : { search: $searchFilter }    ) {        nodes {            id            name        }    }}我如何有條件地包含filter參數(shù)?
查看完整描述

1 回答

?
胡子哥哥

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊

只需傳遞(整個(gè)“先前組成/準(zhǔn)備”)值filter(在查詢時(shí)定義)變量即可。保留此變量未定義使其成為可選的。


query GetUsers($filter: SomeFilterInputType) {

  users(

    first: 10, 

    filter: $filter ) {

filter為 [query] 變量傳遞值:


{

  filter: { search: 'sth'}

}

...其中SomeFilterInputType是 [ usersquery] arg 類型名稱,它可以從 API 規(guī)范中讀取,可在 graphiql/playground 文檔中找到...或服務(wù)器代碼/類型定義


可以使用查詢變量在 graphiql/playground 中對(duì)其進(jìn)行測(cè)試。


variables從 JavaScript 傳遞的是一個(gè)具有相同結(jié)構(gòu)的對(duì)象,可以輕松地有條件地創(chuàng)建/修改。


在這種情況下SomeFilterInputType(類型名稱后沒有!標(biāo)記)意味著它(filter變量)可以為空/未定義 -通??蛇x參數(shù)可以為空(不是必需的)。如果 API/BE 規(guī)范中需要某些參數(shù),那么客戶端中也必須需要它。


查看完整回答
反對(duì) 回復(fù) 2023-07-14
  • 1 回答
  • 0 關(guān)注
  • 235 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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