簡體   English   中英

apollo graphql傳遞參數來解析函數

[英]apollo graphql pass arguments to resolve function

我有一個包含相關類別和標記的模式

type Category {
    id: Int
    name: String
    parent: Category
    children: [Category]
    markers: [Marker]
}

type Marker {
    id: Int
    name: String
    categories: [Category]
}

type Query {
  category(limit: Int, offset: Int): [Category]
  marker(limit: Int, offset: Int): [Marker]
}

schema {
  query: Query
}

我現在可以寫一個這樣的查詢:

query{
  category(limit: 3){
    name
    markers{
      name

    }
  }
}

如何定義標記的可能參數? - >

  query{
      category(limit: 3){
        name
        markers(limit: 3){
          name

        }
      }
    }

所以我可以在解析器中使用參數 - >

        export const resolvers = {
            Query: {
                async category(root, args, context) {
                    return Categories.findAll({limit: args.limit, offset: args.offset});
                },
                async marker(root, args, context) {
                    return Markers.findAll({limit: args.limit, offset: args.offset});
                },
            },
            Category: {
                async markers(category){
                    return category.getMarkers();
                }
            }
    }

即我可以將它傳遞給查詢解析器,因為它是在模式中定義的,但我不能將它應用於類別類型中的標記解析器

您可以將查詢變量放在架構中的任何位置,而不僅僅是頂層:

https://learngraphql.com/basics/query-variables/3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM