如何通过graphql查询访问获取的数据?

时间:2019-04-06 17:47:27

标签: reactjs rest graphql gatsby

代码打击从服务器获取数据数组

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实现这一目标(即使可能的话)。

1 个答案:

答案 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模式。