#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.