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