Primeiros passos
Primeiros passosSubstituindo a WP REST API

Substituindo a WP REST API

Se a sua aplicação usa a WP REST API, é possível usar o Gato GraphQL em seu lugar.

Com a extensão Persisted Queries você pode publicar endpoints no estilo REST, compostos usando GraphQL.

Para cada um dos endpoints REST da sua aplicação, você pode criar um endpoint de query persistida correspondente que recupera os mesmos dados, e usar esse endpoint em seu lugar.

Por exemplo, a seguinte query GraphQL pode substituir o endpoint REST /wp-json/wp/v2/posts/:

{
  posts {
    id
    date: dateStr(format: "Y-m-d\\TH:i:s")
    modified: modifiedDateStr(format: "Y-m-d\\TH:i:s")
    slug
    status
    link: url
    title: self {
      rendered: title
    }
    content: self {
      rendered: content
    },
    excerpt: self {
      rendered: excerpt
    }
    author
    featured_media: featuredImage
    sticky: isSticky
    categories
    tags
  }
}

Graças à hierarquia de API, a query persistida pode ser publicada sob o caminho /graphql-query/wp/v2/posts/, facilitando o mapeamento dos endpoints.

Para replicar o endpoint REST /wp-json/wp/v2/posts/{id}/, que recupera os dados do post com o ID fornecido, podemos passar o ID do post pelo parâmetro de URL postId.

Por exemplo, a seguinte query persistida pode ser invocada sob o endpoint /graphql-query/wp/v2/posts/single/?postId={id}:

query GetPost($postId: ID!) {
  post(by: { id: $postId }) {
    id
    date: dateStr(format: "Y-m-d\\TH:i:s")
    modified: modifiedDateStr(format: "Y-m-d\\TH:i:s")
    slug
    status
    link: url
    title: self {
      rendered: title
    }
    content: self {
      rendered: content
    },
    excerpt: self {
      rendered: excerpt
    }
    author
    featured_media: featuredImage
    sticky: isSticky
    categories
    tags
  }
}