Erste Schritte
Erste SchritteDie WP REST API ersetzen

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