Arsitektur Dokumentasi
Peta jalan panduan, SDK integration, dan API reference lengkap yang disiapkan secara terstruktur.
Paginasi dengan Public API Tulis
Endpoint daftar di API publik Tulis mengembalikan objek meta di samping data. Gunakan untuk membuat navigasi sebelumnya/berikutnya melalui posting Anda.
Objek meta
Setiap respons daftar menyertakan objek meta dengan bidang berikut:
| Bidang | Tipe | Arti |
|---|---|---|
Page | number | Nomor halaman saat ini (berbasis 1). |
PerPage | number | Berapa banyak item yang diminta per halaman. |
Total | number | Total item di semua halaman. |
TotalPages | number | Total jumlah halaman. |
HasNext | boolean | true jika ada halaman setelah halaman saat ini. |
HasPrev | boolean | true jika ada halaman sebelum halaman saat ini. |
Contoh bentuk respons:
{
"data": [ { "slug": "post-1" }, { "slug": "post-2" } ],
"meta": {
"Page": 1,
"PerPage": 10,
"Total": 42,
"TotalPages": 5,
"HasNext": true,
"HasPrev": false
}
}Logika "Halaman berikutnya"
Untuk maju, periksa HasNext. Jika true, minta page yang ditambah satu:
curl "https://YOUR_HOST/v1/posts?page=2&per_page=10" \
-H "Authorization: Bearer ***" \
-H "X-Workspace-ID: <WORKSPACE_ID>"Membangun kontrol sebelumnya / berikutnya
async function loadPosts(page = 1) {
const res = await fetch(
`https://YOUR_HOST/v1/posts?page=${page}&per_page=10`,
{
headers: {
Authorization: "Bearer <API_KEY>",
"X-Workspace-ID": "<WORKSPACE_ID>",
},
}
);
const body = await res.json();
const { data, meta } = body;
renderList(data);
const controls = [];
if (meta.HasPrev) {
controls.push(`<button data-page="${meta.Page - 1}">Sebelumnya</button>`);
}
if (meta.HasNext) {
controls.push(`<button data-page="${meta.Page + 1}">Berikutnya</button>`);
}
document.getElementById("pager").innerHTML = controls.join("");
document.querySelectorAll("#pager button").forEach((btn) => {
btn.addEventListener("click", () =>
loadPosts(Number(btn.getAttribute("data-page")))
);
});
}
loadPosts(1);Gunakan parameter kueri page dan per_page untuk navigasi; andalkan HasNext / HasPrev dari meta daripada menghitung jumlah halaman sendiri.
Lini Masa Peluncuran Fitur
Docker Compose, pengaturan file environment, dan panduan setup lokal telah lengkap dibuat.
Dokumentasi route endpoint publik, otentikasi JWT, dan kontrol hak akses telah selesai disusun.
Mempersiapkan boilerplate untuk Next.js client, manajemen revisi konten, dan optimasi query.