นี่คือการปฎิรูปทั่วไปของคำถามนี้ (ด้วยการกำจัดส่วนเฉพาะของ Rails)
ฉันไม่แน่ใจว่าจะใช้การแบ่งหน้าในแหล่งข้อมูลในเว็บแอปพลิเคชัน RESTful ได้อย่างไร สมมติว่าฉันมีทรัพยากรที่เรียกว่าproducts
สิ่งใดต่อไปนี้ที่คุณคิดว่าเป็นแนวทางที่ดีที่สุดและทำไม:
1. ใช้สตริงข้อความค้นหาเท่านั้น
เช่น. http://application/products?page=2&sort_by=date&sort_how=asc
ปัญหาที่นี่คือฉันไม่สามารถใช้การแคชแบบเต็มหน้าและ URL ไม่สะอาดและง่ายต่อการจดจำ
2. การใช้หน้าเป็นทรัพยากรและสตริงแบบสอบถามสำหรับการเรียงลำดับ
เช่น. http://application/products/page/2?sort_by=date&sort_how=asc
ในกรณีนี้ปัญหาที่เห็นคือhttp://application/products/pages/1
ไม่ได้เป็นทรัพยากรที่ไม่ซ้ำกันเนื่องจากการใช้sort_by=price
สามารถให้ผลลัพธ์ที่แตกต่างกันโดยสิ้นเชิงและฉันยังไม่สามารถใช้การแคชหน้า
3. การใช้หน้าเป็นทรัพยากรและส่วน URL สำหรับการเรียงลำดับ
เช่น. http://application/products/by-date/page/2
ฉันเองเห็นว่าไม่มีปัญหาในการใช้วิธีนี้ แต่มีคนเตือนฉันว่านี่ไม่ใช่วิธีที่ดีที่จะไป (เขาไม่ได้ให้เหตุผลดังนั้นถ้าคุณรู้ว่าทำไมมันถึงไม่แนะนำกรุณาแจ้งให้เราทราบ)
ใด ๆข้อเสนอแนะความคิดเห็นวิพากษ์วิจารณ์มากกว่าการต้อนรับ ขอบคุณ