เพจในคอลเลกชันที่เหลือ
ฉันสนใจที่จะเปิดเผยอินเทอร์เฟซ REST โดยตรงกับคอลเล็กชันของเอกสาร JSON (คิดว่าCouchDBหรือPersevere ) ปัญหาที่ฉันพบคือวิธีจัดการการGETดำเนินการบนคอลเลกชันรูทหากคอลเลกชันมีขนาดใหญ่ ตัวอย่างเช่นแกล้งทำเป็นว่าฉันกำลังเปิดเผยQuestionsตารางของ StackOverflow ซึ่งแต่ละแถวจะแสดงเป็นเอกสาร (ไม่ใช่ว่าจำเป็นต้องมีตารางดังกล่าวเป็นเพียงตัวอย่างที่เป็นรูปธรรมของชุด 'เอกสาร' ที่มีขนาดใหญ่) คอลเลกชันจะทำให้สามารถดูได้ที่/db/questionsกับ API CRUD ปกติGET /db/questions/XXX, PUT /db/questions/XXX, POST /db/questionsอยู่ในการเล่น วิธีมาตรฐานในการรับคอลเลกชันทั้งหมดคือGET /db/questionsแต่ถ้าการทิ้งแต่ละแถวเป็นออบเจ็กต์ JSON อย่างไร้เดียงสาคุณจะได้รับการดาวน์โหลดที่ค่อนข้างใหญ่และทำงานได้มากในส่วนของเซิร์ฟเวอร์ วิธีแก้ปัญหาคือการเพจ Dojo มีการแก้ไขปัญหานี้ในของJsonRestStoreผ่านทางส่วนขยาย RFC2616 สอดคล้องฉลาดของใช้ส่วนหัวกับหน่วยช่วงที่กำหนดเองRange itemsผลลัพธ์คือ a 206 Partial Contentที่ส่งคืนเฉพาะช่วงที่ร้องขอ ข้อได้เปรียบของวิธีนี้เหนือพารามิเตอร์การค้นหาคือมันจะทิ้งสตริงการสืบค้นไว้สำหรับ ... คิวรี (เช่นGET /db/questions/?score>200หรือบางครั้งและใช่ว่าจะเข้ารหัส%3E) แนวทางนี้ครอบคลุมพฤติกรรมที่ฉันต้องการอย่างสมบูรณ์ ปัญหาคือRFC 2616ระบุว่าในการตอบสนอง 206 (เน้นของฉัน): คำขอต้องมีรวมถึงข้อมูลส่วนหัวช่วง ( ส่วน 14.35 …