پرش به مطلب اصلی

قوانین DorApi

DorApi باید با contract روشن برای field، populate، filter، sort و pagination استفاده شود.

Fields

  • fieldهای قابل انتخاب باید whitelist شوند
  • field حساس نباید قابل درخواست باشد
  • field حذف‌شده باید backward compatibility را بررسی کند

Populate

  • relationهای قابل populate باید محدود باشند
  • populate عمیق بدون نیاز ممنوع است
  • احتمال N+1 باید بررسی شود

Filters

  • فقط filterهای مجاز فعال شوند
  • type هر filter مشخص باشد
  • filter روی ستون‌های سنگین باید index یا strategy داشته باشد

Sorts

  • sort فقط روی fieldهای whitelist شده مجاز است
  • sort پیش‌فرض باید deterministic باشد
  • sort روی relation باید query plan بررسی شود

Pagination

  • pagination اجباری است
  • max per page باید محدود شود
  • export حجیم باید مسیر جداگانه داشته باشد