Memulai
MemulaiMengganti WP REST API

Mengganti WP REST API

Jika aplikasi Anda menggunakan WP REST API, Anda dapat menggunakan Gato GraphQL sebagai penggantinya.

Dengan ekstensi Persisted Queries Anda dapat menerbitkan endpoint bergaya REST yang disusun menggunakan GraphQL.

Untuk setiap endpoint REST dalam aplikasi Anda, Anda dapat membuat endpoint persisted query yang sesuai untuk mengambil data yang sama, lalu menggunakan endpoint tersebut sebagai penggantinya.

Misalnya, query GraphQL berikut dapat menggantikan 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
  }
}

Berkat hierarki API, persisted query dapat diterbitkan di bawah path /graphql-query/wp/v2/posts/, sehingga memudahkan pemetaan endpoint.

Untuk mereplikasi endpoint REST /wp-json/wp/v2/posts/{id}/, yang mengambil data untuk post dengan ID tertentu, kita dapat menyediakan ID post melalui parameter URL postId.

Misalnya, persisted query berikut dapat dipanggil melalui 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
  }
}