Quick Start
Panduan cepat membuat dan menguji endpoint API pertama dengan RESTForge
Halaman ini membahas cara menjalankan server RESTForge dan menguji endpoint API yang sudah di-generate.
Menjalankan Server (Starting the Server)
npx restforge --project=mini-inventory --config=db-connection.envParameter Runtime
| Parameter | Deskripsi |
|---|---|
--project | Nama project yang akan dijalankan |
--config | File konfigurasi database (di folder config/) |
--port | Port server (opsional, override dari config) |
--watch | Aktifkan auto-restart saat file berubah (Node.js >= 22) |
--cluster | Cluster mode dengan auto-detect CPU cores |
--workers=N | Cluster mode dengan N workers |
Output yang diharapkan:
============================================================
SERVER READY
============================================================
API Server listening on port 3032
Base URL: http://localhost:3032
Available endpoints:
- /api/mini-inventory/supplier/datatables
- /api/mini-inventory/supplier/create
- /api/mini-inventory/supplier/update
- /api/mini-inventory/supplier/delete
- /api/mini-inventory/supplier/first
- /api/mini-inventory/supplier/lookup
- /api/mini-inventory/supplier/readPola URL Endpoint (Endpoint URL Pattern)
Seluruh endpoint mengikuti pola:
POST /api/{project}/{endpoint}/{action}Contoh untuk project mini-inventory dengan endpoint supplier:
| Action | URL |
|---|---|
datatables | POST /api/mini-inventory/supplier/datatables |
create | POST /api/mini-inventory/supplier/create |
update | POST /api/mini-inventory/supplier/update |
delete | POST /api/mini-inventory/supplier/delete |
first | POST /api/mini-inventory/supplier/first |
lookup | GET /api/mini-inventory/supplier/lookup |
read | POST /api/mini-inventory/supplier/read |
Menguji Endpoint (Testing Endpoints)
Menggunakan curl
Health check:
curl http://localhost:3032/healthDatatables (data dengan pagination):
curl -X POST http://localhost:3032/api/mini-inventory/supplier/datatables \
-H "Content-Type: application/json" \
-d '{"draw":1,"start":0,"length":10,"search":{"value":""}}'Create (buat data baru):
curl -X POST http://localhost:3032/api/mini-inventory/supplier/create \
-H "Content-Type: application/json" \
-d '{"supplier_code":"SUP001","supplier_name":"PT Supplier Utama","is_active":true}'First (baca satu record):
curl -X POST http://localhost:3032/api/mini-inventory/supplier/first \
-H "Content-Type: application/json" \
-d '{"where":{"key":"supplier_id","value":"<id>"}}'Menggunakan Postman
Generator secara otomatis membuat Postman collection di folder demo/:
- Buka Postman
- Klik Import dan pilih file
demo/mini-inventory/postman_supplier.json - Collection "Mini Inventory - Supplier" akan muncul di sidebar
- Klik request yang ingin diuji dan klik Send
Postman collection sudah berisi sample request body untuk setiap action.
Format Response (Response Format)
Response Berhasil (Action Standar)
{
"success": true,
"message": "Supplier created successfully",
"data": {
"supplier_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"supplier_code": "SUP001",
"supplier_name": "PT Supplier Utama",
"is_active": true
},
"timestamp": "2026-01-15T10:30:00.000Z"
}Response Berhasil (Datatables)
Format datatables mengikuti standar jQuery DataTables:
{
"draw": 1,
"recordsTotal": 100,
"recordsFiltered": 10,
"data": [
{ "supplier_id": "...", "supplier_code": "SUP001", "supplier_name": "..." },
{ "supplier_id": "...", "supplier_code": "SUP002", "supplier_name": "..." }
]
}Response Error
{
"success": false,
"message": "Supplier code already exists",
"error": "duplicate key value violates unique constraint"
}Pemecahan Masalah (Troubleshooting)
| Error | Penyebab | Solusi |
|---|---|---|
EADDRINUSE: address already in use | Port sudah digunakan oleh proses lain | Hentikan proses yang menggunakan port tersebut atau ubah port di config |
connect ECONNREFUSED | Database server tidak berjalan | Pastikan service database sudah di-start |
Cannot find module | Module belum di-generate | Jalankan restforge-cli create terlebih dahulu |
CONFIGURATION ERROR | File config tidak lengkap | Periksa SERVER_ADDRESS dan SERVER_PORT di file config |