Die WP REST API ersetzen
Wenn deine Anwendung die WP REST API verwendet, ist es möglich, stattdessen Gato GraphQL zu nutzen.
Mit der Erweiterung Persisted Queries kannst du REST-ähnliche Endpoints veröffentlichen, die mit GraphQL zusammengestellt werden.
Für jeden der REST-Endpoints in deiner Anwendung kannst du einen entsprechenden Persisted-Query-Endpoint erstellen, der dieselben Daten abruft, und diesen Endpoint stattdessen verwenden.
Zum Beispiel kann die folgende GraphQL-Query den REST-Endpoint /wp-json/wp/v2/posts/ ersetzen:
{
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
}
}Dank der API-Hierarchie kann die Persisted Query unter dem Pfad /graphql-query/wp/v2/posts/ veröffentlicht werden, was die Zuordnung von Endpoints erleichtert.
Um den REST-Endpoint /wp-json/wp/v2/posts/{id}/ zu replizieren, der die Daten des Beitrags mit der angegebenen ID abruft, können wir die Beitrags-ID über den URL-Parameter postId übergeben.
Zum Beispiel kann die folgende Persisted Query unter dem Endpoint /graphql-query/wp/v2/posts/single/?postId={id} aufgerufen werden:
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
}
}