Reemplazando la WP REST API
Si tu aplicación utiliza la WP REST API, es posible usar Gato GraphQL en su lugar.
Con la extensión Persisted queries puedes publicar endpoints estilo REST, compuestos usando GraphQL.
Para cada uno de los endpoints REST de tu aplicación, puedes crear un endpoint de consulta persistida correspondiente que recupere los mismos datos, y usar ese endpoint en su lugar.
Por ejemplo, la siguiente consulta GraphQL puede reemplazar al 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
}
}Gracias a la jerarquía de API, la consulta persistida se publica bajo la ruta /graphql-query/wp/v2/posts/, facilitando el mapeo de endpoints.
Para replicar el endpoint REST /wp-json/wp/v2/posts/{id}/, que recupera datos para la entrada con un ID dado, podemos proporcionar el ID de la entrada bajo el parámetro de URL postId.
Por ejemplo, la siguiente consulta persistida puede invocarse en el 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
}
}