Filter, Sort & Pagination
Semua endpoint CRUD harus terdapat Filter, Sort dan Pagination. Gunakan camel case untuk filter data sesuai dengan kolom, bisa menggunakan metode keyword dan search by.
Filter Data
| Name | Data Type | Rule |
|---|---|---|
| keyword | string | required |
| search_by | string | optional |
| field_name_base_on_table | string | optional |
Example
- /users?keyword=helmi
- /users?keyword=wir&search_by=email
- /users?role_id=1
- /transactions?payment_status=pending
Sort Data
Sort data menggunakan 2 parameter sort_by dan sort_method. Atau single parameter sort dengan tambahan delimiter.
| Name | Data Type | Rule |
|---|---|---|
| sort_by | string | required |
| sort_method | string | required |
| sort | string | required |
With Two Parameter Sort By & Sort Method
- /users?sort_by=date&sort_method=asc
- /transaction?sort_by=payment_status&sort_method=asc
With Single Parameter Sort
- /users?sort=date:desc
- /transactions?sort=payment_status:asc
Pagination Data
Pagination menggunakan parameter page dan limit saja, jika kedua parameter atau salah satu tidak dikirim maka tidak perlu dibuat pagination. Data pagination membutuhkan 2 parameter utama.
| Name | Data Type | Rule |
|---|---|---|
| page | number | required |
| limit | number | required |
Example
- /users?page=1&limit=10