REST API
REST APIBackendAPI Design
REST API adalah standar komunikasi antara client dan server berbasis HTTP. Fokus utamanya ada pada resource, HTTP method (verb), dan endpoint (path).



HTTP Method (Verb)
Gunakan HTTP method sesuai tujuan request:
| Method | Fungsi |
|---|---|
| GET | Ambil data |
| POST | Tambah data |
| PUT | Update seluruh data |
| PATCH | Update sebagian data |
| DELETE | Hapus data |
❌ Salah (verb di URL):
POST /createUser
✅ Benar:
POST /users
Endpoint / Path
Gunakan Kata Benda (Plural)
GET /users
GET /users/{id}
POST /users
DELETE /users/{id}
Nested Resource (jika ada relasi)
GET /users/{id}/posts
Response Format (Konsisten)
{ "status": "success", "message": "Data berhasil diambil", "data": {} }
Untuk error:
{ "status": "fail", "message": "Data tidak ditemukan" }
HTTP Status Code Wajib
| Code | Arti |
|---|---|
| 200 | OK |
| 201 | Created |
| 400 | Bad Request |
| 401 | Unauthorized |
| 404 | Not Found |
| 500 | Server Error |
Authentication
Umumnya pakai JWT lewat header:
Authorization: Bearer <token>
REST API bersifat stateless, jadi setiap request harus membawa kredensial sendiri.
Intinya
- Gunakan HTTP method, bukan verb di URL
- Path = resource, bukan aksi
- Response & status code harus konsisten
- Stateless & mudah di-scale
Standar REST API yang rapi = backend lebih mudah dikembangkan dan dipakai frontend.