Memahami struktur request dan response adalah kunci membangun API yang baik.
Status codes yang wajib diketahui:
| Code | Nama | Kapan Dipakai |
|---|---|---|
| 200 | OK | Request berhasil (default) |
| 201 | Created | Data baru berhasil dibuat (POST) |
| 204 | No Content | Berhasil tapi tidak ada data (DELETE) |
| 400 | Bad Request | Input tidak valid |
| 401 | Unauthorized | Belum login / token invalid |
| 403 | Forbidden | Sudah login tapi tidak punya akses |
| 404 | Not Found | Resource tidak ditemukan |
| 409 | Conflict | Konflik (misal email sudah dipakai) |
| 422 | Unprocessable Entity | Validasi gagal |
| 500 | Internal Server Error | Bug di server |
Kelompok status code:
- 2xx = Sukses
- 3xx = Redirect
- 4xx = Error dari client (salah request)
- 5xx = Error dari server (bug/crash)
Response format yang konsisten:
// Sukses
{
"data": { "id": 1, "name": "Budi" },
"message": "User created successfully"
}
// Error
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Email is required",
"details": [{ "field": "email", "message": "Required" }]
}
}