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
}
}