подделка api graphql с использованием gaphql faker, похоже, не запрашивает поля по идентификатору

#graphql #apollo #apollo-client #graphql-js

Вопрос:

попытка создать макет api с помощью GraphQL faker.

Пытаясь достичь:

хотите отобразить категории (список массивов) при первом рендеринге приложения. и когда пользователь нажимает на определенную категорию, хотите вызвать второй запрос graphql, чтобы получить продукты в соответствии с этим каталогом.

В основном пытаюсь создать поддельный API graphql для этого.

Текущий код

текущая схема:

 type Picture {
  id: ID
  url: String @fake(type:imageUrl, options:{imageKeywords:["car", "bike","yatch","house"]})
}

type ProductItem {
  id: ID
  title: String @fake(type: productName)
  description: String @fake(type:lorem, options:{loremSize:paragraphs})
  picture: [Picture!]! 
}

 type Category {
  id: ID
  name: String
    @examples(
      values: [
        "car"
        "house"
        "electronics"
      ]
    )
  total: Int
  category_picture:String @fake(type:imageUrl, options:{imageKeywords:["car", "bike","yatch","house"]})
  category_items: [ProductItem!] @listLength(min: 2, max: 2)
  
}

type Query {
  allCategory: [Category!]
  productByItemId(id: ID!): ProductItem
  
} 
 

текущий запрос:

 query{
  allCategory{
    id
    name
    category_picture
    category_items {
      id
    }
  }, 
  productByItemId(id:"NzAyMjA3ODg0MA==") {
    id
  }
}
 

выходной результат:

 {
  "data": {
    "allCategory": [
      {
        "id": "MzAwMzM3ODg0MQ==",
        "name": "electronics",
        "category_picture": "https://source.unsplash.com/random/?car,bike,yatch,house",
        "category_items": [
          {
            "id": "NzcyMDAwNzc4MA=="
          },
          {
            "id": "MzIwNjkzNzI4NQ=="
          }
        ]
      },
      {
        "id": "MzYwNzgyNDQ0",
        "name": "car",
        "category_picture": "https://source.unsplash.com/random/?car,bike,yatch,house",
        "category_items": [
          {
            "id": "ODkwNzEwODU5Nw=="
          },
          {
            "id": "MTQ3NjU2MTg5MA=="
          }
        ]
      },
      {
        "id": "MTI5NDM4MDc5OA==",
        "name": "house",
        "category_picture": "https://source.unsplash.com/random/?car,bike,yatch,house",
        "category_items": [
          {
            "id": "MjEzMjQyNDE4Mw=="
          },
          {
            "id": "MzAxOTM0NjMxNw=="
          }
        ]
      },
      {
        "id": "MzUzODk1NzY2Ng==",
        "name": "electronics",
        "category_picture": "https://source.unsplash.com/random/?car,bike,yatch,house",
        "category_items": [
          {
            "id": "MTMwODcyMDc2"
          },
          {
            "id": "NDQ5OTg2ODQ2Ng=="
          }
        ]
      }
    ],
    "productByItemId": {
      "id": "OTYyODEyNzYwNg=="
    }
  }
}
 

Problem

productByItemId(id:»NzAyMjA3ODg0MA==»)…. in this line that id is no where to be found.

I basically want to mock and use fake graphql api in my project…something like fetching category and also fetching products that matches id of particular category. Any solution is highly appreciated…. please also recommend any alternatives to graphql faker if there are any.