代码打击从服务器获取数据数组
fetch('/api/collections/get/posts?token=xxtokenxx', {
method: 'post',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
filter: {published:true},
})
})
.then(res=>res.json())
.then(res => console.log(res));
我需要使用Graphql存储此数据并获取特定数据,而且我不知道如何通过Gatsby js实现这一目标(即使可能的话)。
答案 0 :(得分:0)
Gatsby区分内部GraphQL API和内部消耗的任何API(例如,无头CMS提供的API),内部GraphQL API可以在内部存储和查询数据,您可以使用source plugins从中检索数据
从URI的外观来看,您好像正在使用Cockpit作为CMS,它具有可用于Gatsby的源插件:gatsby-source-cockpit
。要安装插件:
npm install --save gatsby-plugin-cockpit
要配置插件,请将以下内容添加到gatsby-config.js
,并用您自己的Cockpit网站替换http://localhost:8888
:
plugins: [
{
resolve: `gatsby-source-filesystem`,
options: {
name: `src`,
path: `${__dirname}/src/`,
},
},
{
resolve: 'gatsby-plugin-cockpit',
options: {
cockpitConfig: {
baseURL: 'http://localhost:8888',
folder: '/cockpit',
accessToken: '4d659efb084077fd24aeb4871d4386',
collections: ['posts'],
regions: ['footer'],
customComponents: [],
},
},
},
],
现在,运行:
gatsby develop
您的本地盖茨比站点将在以下位置提供: http://localhost:8000/
,之后您可以导航到http://localhost:8000/___graphql
,在这里您可以使用GraphiQL探索GraphQL模式。