• الصفحات

الصفحات

ما لم يُحدد خلاف ذلك في المراجع، ستُرجع جميع روابط القوائم استجابة صفحات مُدرِكة للطول، وهذا يعني أنها ستحتوي دائمًا على إجمالي عدد النتائج والصفحات المتبقية في الاستجابة المُرجعة.

ستتضمن الاستجابة المُرجعة للصفحات:

  1. data: التي تحتوي على السجلات المطلوبة.
  2. links: التي تحتوي على المفاتيح التالية:
    1. first: الرابط الكامل للصفحة الأولى.
    2. last: الرابط الكامل للصفحة الأخيرة.
    3. prev: الرابط الكامل للصفحة السابقة إذا كان موجوداً، وإلا فهو فارغ.
    4. next: الرابط الكامل للصفحة التالية إذا كان موجوداً، وإلا فهو فارغ.
  3. meta: التي تحتوي على المفاتيح التالية:
    1. current_page: عدد صحيح.
    2. from: عدد صحيح أو غير مُدّرج إذا كانت النتيجة فارغة.
    3. last_page: عدد صحيح.
    4. links: مصفوفة من {url: الرابط الكامل | غير مُدّرج، label: نص، active: قيمة منطقية}.
    5. path: نص.
    6. per_page: عدد صحيح.
    7. to: عدد صحيح أو غير مُدّرج إذا كانت النتيجة فارغة.
    8. total: عدد صحيح

نصوص الإستعلام

ما لم يُحدد خلاف ذلك في مَرجع الرابط، فإن جميع روابط الصفحات تقبل نصوص الإستعلام التالية:

المفتاح النوع الافتراضي الوصف
page نص 1 رقم الصفحة
limit عدد صحيح 15 تعريف عدد النتائج التي يتم إرجاعها في كل طلب، الحد الأقصى هو 100
search سلسلة - البحث (المفاتيح التي يعتمد عليها البحث تُفصَّل كلٌّ في مَرجِعِها)
order سلسلة created_at ترتيب النتائج (المفاتيح التي يعتمد عليها الترتيب تُفصَّل كلٌّ في مَرجِعِها)
direction سلسلة desc اتجاه الترتيب

مثال على الاستجابة

{
    "data": [],
    "links": {
        "first": "http://localhost/api/contacts?search=tjrbeh123123&page=1",
        "last": "http://localhost/api/contacts?search=tjrbeh123123&page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": null,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "active": false
            },
            {
                "url": "http://localhost/api/contacts?search=tjrbeh123123&page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "active": false
            }
        ],
        "path": "http://localhost/api/contacts",
        "per_page": 15,
        "to": null,
        "total": 0
    }
}