Başlarken
BaşlarkenWP REST API'yi Değiştirme

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