WP REST API'yi Değiştirme
Uygulamanız WP REST API kullanıyorsa, bunun yerine Gato GraphQL kullanmak mümkündür.
Persisted Queries eklentisi sayesinde GraphQL kullanarak oluşturulmuş REST benzeri endpoint'ler yayınlayabilirsiniz.
Uygulamanızdaki her REST endpoint için, aynı verileri alan karşılık gelen bir persisted query endpoint'i oluşturabilir ve bunun yerine bu endpoint'i kullanabilirsiniz.
Örneğin, aşağıdaki GraphQL query'si /wp-json/wp/v2/posts/ REST endpoint'inin yerini alabilir:
{
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
}
}API hiyerarşisi sayesinde, persisted query /graphql-query/wp/v2/posts/ yolu altında yayınlanabilir; bu da endpoint'lerin eşlenmesini kolaylaştırır.
Belirli bir ID'ye sahip gönderi verilerini alan /wp-json/wp/v2/posts/{id}/ REST endpoint'ini çoğaltmak için, gönderi ID'sini postId URL parametresi altında sağlayabiliriz.
Örneğin, aşağıdaki persisted query /graphql-query/wp/v2/posts/single/?postId={id} endpoint'i altında çağrılabilir:
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
}
}