Pierwsze kroki
Pierwsze krokiZastępowanie WP REST API

Zastępowanie WP REST API

Jeśli Twoja aplikacja używa WP REST API, możliwe jest użycie zamiast niej Gato GraphQL.

Za pomocą rozszerzenia Persisted Queries możesz publikować endpointy w stylu REST, tworzone przy użyciu GraphQL.

Dla każdego z endpointów REST w Twojej aplikacji możesz utworzyć odpowiadający mu endpoint utrwalonego zapytania, który pobiera te same dane, i używać go zamiast oryginalnego.

Na przykład następujące zapytanie GraphQL może zastąpić 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
  }
}

Dzięki hierarchii API utrwalone zapytanie może być opublikowane pod ścieżką /graphql-query/wp/v2/posts/, co ułatwia mapowanie endpointów.

Aby odwzorować endpoint REST /wp-json/wp/v2/posts/{id}/, który pobiera dane wpisu o podanym ID, możemy przekazać ID wpisu przez parametr URL postId.

Na przykład następujące utrwalone zapytanie może być wywołane pod endpointem /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
  }
}