시작하기WP REST API를 Gato GraphQL로 교체하기
WP REST API를 Gato GraphQL로 교체하기
애플리케이션이 WP REST API를 사용하고 있다면, 대신 Gato GraphQL을 사용할 수 있습니다.
Persisted Queries 확장을 사용하면 GraphQL로 구성된 REST 방식의 엔드포인트를 공개할 수 있습니다.
애플리케이션의 각 REST 엔드포인트에 대해, 동일한 데이터를 가져오는 퍼시스티드 쿼리 엔드포인트를 만들고 그 엔드포인트를 대신 사용할 수 있습니다.
예를 들어, 다음 GraphQL 쿼리는 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
}
}API 계층 구조 덕분에 퍼시스티드 쿼리를 /graphql-query/wp/v2/posts/ 경로 아래에 공개할 수 있어, 엔드포인트 매핑이 쉬워집니다.
지정된 ID의 게시물 데이터를 가져오는 REST 엔드포인트 /wp-json/wp/v2/posts/{id}/를 재현하려면, URL 파라미터 postId에 게시물 ID를 제공하면 됩니다.
예를 들어, 다음 퍼시스티드 쿼리는 엔드포인트 /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
}
}Prev
Next