我想在GraphiQL上实现 盖茨比+斯特拉皮 开发(添加Material进行样式设计),我对Gatsby和Strapi都是新手,虽然我对React有一些基本的了解,这让我更容易上手。盖茨比入门者: https:/www.gatsbyjs.orgstartersVagr9Kgatsby-material-starter 其中包括了我想实现的Material设计,但我在改变Material设计时遇到了一些麻烦。Markdown查询到Strapi查询 以避免做大量的代码修改(帖子完全一样,但存储在Strapi中)。我在Strapi里有三个Content Types,分别对应原始启动器提供的三个不同页面。帖子, 种类和 标签.
这是原始的MarkdownRemark图形QL查询,包含在了 post.jsx 的模板。
query BlogPostBySlug($slug: String!) {
markdownRemark(fields: { slug: { eq: $slug } }) {
html
timeToRead
excerpt
frontmatter {
title
cover
date
category
tags
}
fields {
slug
date
}
}
}
我怎样才能改变它,从Strapi中获取相同的信息呢?我对这个Strapi世界真的很陌生,所以我对GraphQL有很多疑惑,因为我不能按照Markdown查询的引导,因为显示的信息不一样。
我也很难区分allStrapiArticles和StrapiArticle,这些主要是什么用途?
EDIT:我一直在测试现有的查询方式,关于 GraphiQL 来检查他们返回的东西,这是我看到的。
对于 tag.jsx 查询。
query TagPage($tag: String) {
allMarkdownRemark(
limit: 1000
sort: { fields: [fields___date], order: DESC }
filter: { frontmatter: { tags: { in: [$tag] } } }
) {
totalCount
edges {
node {
fields {
slug
date
}
excerpt
timeToRead
frontmatter {
title
tags
cover
date
}
}
}
}
}
GraphiQL没有返回任何信息
{
"data": {
"allMarkdownRemark": {
"totalCount": 0,
"edges": []
}
}
}
对于 类别.jsx 查询。
query CategoryPage($category: String) {
allMarkdownRemark(
limit: 1000
sort: { fields: [fields___date], order: DESC }
filter: { frontmatter: { category: { eq: $category } } }
) {
totalCount
edges {
node {
fields {
slug
date
}
excerpt
timeToRead
frontmatter {
title
tags
cover
date
}
}
}
}
}
在这种情况下,一切都很好,它检索到了文章数据。
而对于我在本帖中作为例子添加的查询的情况(问题的上半部分),我得到了以下错误。
"errors": [
{
"message": "Variable \"$slug\" of required type \"String!\" was not provided."
...