การสร้าง API
การสร้าง APIการสร้างลำดับชั้น API

การสร้างลำดับชั้น API

Custom endpoints และ persisted queries สามารถจัดระเบียบเป็นลำดับชั้นได้ โดยการประกาศ parent ซึ่งจะทำให้ endpoint path ของตนเองต่อขยายจาก endpoint path ของ parent

ตัวอย่างเช่น เราสามารถสร้างลำดับชั้นดังนี้:

  • Parent persisted query: /graphql-query/posts/
  • Child persisted query: /graphql-query/posts/english/
  • Child persisted query: /graphql-query/posts/french/

จำนวนระดับชั้นไม่มีข้อจำกัด ดังนั้นเราสามารถสร้างได้ดังนี้:

  • /graphql-query/posts/
  • /graphql-query/posts/mobile-app/
  • /graphql-query/posts/mobile-app/english/
  • /graphql-query/posts/mobile-app/french/
  • /graphql-query/posts/website/
  • /graphql-query/posts/website/english/
  • /graphql-query/posts/website/french/

ดูคู่มือ กลยุทธ์สำหรับลำดับชั้น API เพื่อดูการกำหนดค่าที่เป็นไปได้

การสืบทอด Property

Child custom endpoints และ persisted queries จะสืบทอด properties จาก parent

Custom endpoints และ persisted queries

Child custom endpoints และ persisted queries จะสืบทอด schema configuration ของ parent

เฉพาะ persisted queries

Child persisted queries จะสืบทอด GraphQL query และตัวแปรของ parent ด้วย ค่าของตัวแปรสามารถถูก override โดย child ได้ทีละตัวแปร

ตัวอย่างเช่น หาก parent ประกาศตัวแปรเหล่านี้:

{
  "limit": 5,
  "offset": 0
}

และ child ประกาศตัวแปรเหล่านี้:

{
  "limit": 10
}

ดังนั้น ตัวแปรที่คำนวณแล้วสำหรับ child จะเป็น:

{
  "limit": 10,
  "offset": 0
}

การสร้างลำดับชั้น API

ใน custom endpoint หรือ persisted query ใน Document settings จะมีส่วน Page Attributes พร้อม dropdown ของ entities ทั้งหมด เพื่อเลือกเป็น parent:

API inheritance

Persisted queries

เมื่อเลือก parent ใน persisted query จะมีตัวเลือกใหม่ปรากฏขึ้นว่า "Inherit query from ancestor(s)?"

ตั้งค่าตัวเลือกนี้เป็น Yes เพื่อให้ child persisted query สืบทอด GraphQL query ของ parent:

API inheritance

ตัวอย่าง

Persisted query นี้กำหนด GraphQL query และประกาศตัวแปร $limit ด้วยค่า 1:

Parent persisted query

Child persisted query ต่อขยายจากมัน โดยสืบทอด GraphQL query และ override ค่าของตัวแปร $limit เป็น 2:

Child persisted query