Pagination in the HTTP Request node#
HTTP Request node รองรับ pagination รวมถึงให้ตัวอย่างการกำหนดค่าบางส่วน รวมถึงการใช้ HTTP node variables
อ้างอิง HTTP Request สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ node
ความแตกต่างของ API
API ต่างๆ ใช้ pagination ในรูปแบบที่แตกต่างกัน ตรวจสอบเอกสาร API สำหรับ API ที่คุณใช้อยู่เพื่อดูรายละเอียด คุณต้องหาข้อมูลเช่น:
- API ให้ URL สำหรับหน้าถัดไปหรือไม่?
- มีข้อจำกัดเฉพาะ API เกี่ยวกับขนาดหน้า (page size) หรือหมายเลขหน้า (page number) หรือไม่?
- โครงสร้างของข้อมูลที่ API ส่งคืน
Enable pagination#
ใน HTTP Request node เลือก Add Option > Pagination
Use a URL from the response to get the next page using $response
#
หาก API คืนค่า URL ของหน้าถัดไปในการตอบสนอง (response):
- ตั้งค่า Pagination Mode เป็น Response Contains Next URL n8n จะแสดงพารามิเตอร์สำหรับตัวเลือกนี้
- ใน Next URL ใช้ expression เพื่อตั้งค่า URL expression ที่แน่นอนขึ้นอยู่กับข้อมูลที่ API ของคุณส่งคืน ตัวอย่างเช่น หาก API มีพารามิเตอร์ชื่อ
next-page
ใน response body:1
{{ $response.body["next-page"] }}
Get the next page by number using $pageCount
#
หาก API ที่คุณใช้รองรับการกำหนดเป้าหมายหน้าเฉพาะตามหมายเลข:
- ตั้งค่า Pagination Mode เป็น Update a Parameter in Each Request
- ตั้งค่า Type เป็น Query
- ป้อน Name ของ query parameter ซึ่งขึ้นอยู่กับ API ของคุณและมักจะอธิบายไว้ในเอกสารประกอบ ตัวอย่างเช่น บาง API ใช้ query parameter ชื่อ
page
เพื่อตั้งค่าหน้า ดังนั้น Name จะเป็นpage
- วางเมาส์เหนือ Value และเปิดใช้งาน Expression
- ป้อน
{{ $pageCount + 1 }}
$pageCount
คือจำนวนหน้าที่ HTTP Request node ดึงข้อมูลมาแล้ว เริ่มต้นที่ศูนย์ API pagination ส่วนใหญ่นับจากหนึ่ง (หน้าแรกคือหน้าหนึ่ง) ซึ่งหมายความว่าการเพิ่ม +1
ให้กับ $pageCount
จะทำให้ node ดึงข้อมูลหน้าหนึ่งในลูปแรก หน้าสองในลูปที่สอง และต่อไปเรื่อยๆ
Navigate pagination through body parameters#
หาก API ที่คุณใช้ อนุญาตให้คุณทำ pagination ผ่าน body parameters:
- ตั้งค่า HTTP Request Method เป็น POST
- ตั้งค่า Pagination Mode เป็น Update a Parameter in Each Request
- เลือก Body ในพารามิเตอร์ Type
- ป้อน Name ของ body parameter ซึ่งขึ้นอยู่กับ API ที่คุณใช้
page
เป็นชื่อ key ทั่วไป - วางเมาส์เหนือ Value และเปิดใช้งาน Expression
- ป้อน
{{ $pageCount + 1 }}
Set the page size in the query#
หาก API ที่คุณใช้รองรับการเลือกขนาดหน้า (page size) ใน query:
- เลือก Send Query Parameters ในพารามิเตอร์หลักของ node (นี่คือพารามิเตอร์ที่คุณเห็นเมื่อเปิด node ครั้งแรก ไม่ใช่การตั้งค่าภายใน options)
- ป้อน Name ของ query parameter ซึ่งขึ้นอยู่กับ API ของคุณ ตัวอย่างเช่น API จำนวนมากใช้ query parameter ชื่อ
limit
เพื่อตั้งค่าขนาดหน้า ดังนั้น Name จะเป็นlimit
- ใน Value ป้อนขนาดหน้าที่คุณต้องการ