Как получить доступ к извлеченным данным через запрос graphql? - PullRequest
0 голосов
/ 06 апреля 2019

Код удара извлекает массив данных с сервера

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 голосов
/ 16 апреля 2019

Гэтсби различает внутренний API-интерфейс GraphQL, с помощью которого вы можете хранить и запрашивать данные внутри, и любой API-интерфейс, который он использует (например, предоставляемый автономной CMS), из которого вы извлекаете данные с помощью исходных плагинов.

Судя по виду вашего URI, вы можете использовать Cockpit в качестве CMS, в котором есть исходный плагин для Gatsby: gatsby-source-cockpit.Чтобы установить плагин:

npm install --save gatsby-plugin-cockpit

Чтобы настроить плагин, добавьте следующее к gatsby-config.js, заменив http://localhost:8888 собственным сайтом Cockpit:

  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

Ваш локальный сайт Gatsby будет доступен, например, по адресу http://localhost:8000/, после чего вы можете перейти к http://localhost:8000/___graphql, где вы можете исследовать вашу схему GraphQL с помощью GraphiQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...