Я пытаюсь использовать GraphQL для запроса неструктурированного массива с объектами в Gridsome. В настоящее время он выглядит очень грязно, и кажется, что должен быть лучший способ сделать это.
Данные, которые загружаются в GraphQL из CMS, выглядят так:
{
title: "Homepage",
top_image: "imgurl.jpg",
page_builder: [
{
type: "slider",
field: "data example",
different_field: "data example"
},
{
type: "call_to_action",
field_for_cta: "data example",
different_cta_field: "data example"
}
]
}
КакВы можете видеть, что объекты в page_builder будут иметь разные поля в зависимости от того, как клиент строит этот раздел.
Когда я пытаюсь запросить это в GraphQL. Это станет очень грязно:
<page-query>
query {
data: pages(path: "/pages") {
title,
top_image,
page_builder {
type,
field,
different_field,
type,
field_for_cta,
different_cta_field
#this list will have way more fields depending on all the page builder elements
}
}
}
</page-query>
Есть ли способ упорядочить эти поля по типу и вернуть только поля этого определенного типа?