Memahami HTTP Status Code dalam REST API
HTTP Status Code adalah respons standar yang diberikan oleh server kepada klien (seperti browser atau aplikasi mobile) untuk menginformasikan hasil dari permintaan (request) yang dikirimkan. Dalam arsitektur REST API, kode-kode ini sangat krusial untuk debugging dan komunikasi antara sistem. Kode status dikelompokkan menjadi lima kelas utama berdasarkan angka pertama dari kode tersebut.
Tabel Kategori HTTP Status Code
| Kelas | Kategori | Deskripsi |
|---|---|---|
| 1xx | Informational | Permintaan diterima dan sedang diproses. |
| 2xx | Success | Permintaan berhasil diterima, dipahami, dan diproses. |
| 3xx | Redirection | Tindakan lebih lanjut diperlukan untuk menyelesaikan permintaan. |
| 4xx | Client Error | Kesalahan pada sisi klien (permintaan tidak valid). |
| 5xx | Server Error | Kesalahan pada sisi server saat memproses permintaan. |
Detail Kode Status yang Sering Digunakan
Berikut adalah daftar kode status yang paling umum ditemui dalam pengembangan API:
- 200 OK: Permintaan berhasil diproses.
- 201 Created: Sumber daya baru berhasil dibuat (biasanya setelah POST).
- 204 No Content: Permintaan berhasil, namun tidak ada konten yang dikembalikan.
- 400 Bad Request: Server tidak dapat memahami permintaan karena sintaks yang salah.
- 401 Unauthorized: Klien belum terautentikasi atau kredensial tidak valid.
- 403 Forbidden: Klien terautentikasi, namun tidak memiliki izin untuk mengakses sumber daya tersebut.
- 404 Not Found: Sumber daya yang diminta tidak ditemukan di server.
- 500 Internal Server Error: Terjadi kesalahan umum di sisi server.
- 503 Service Unavailable: Server sedang tidak dapat menangani permintaan (biasanya karena overload atau maintenance).
Implementasi dalam Kode
Dalam pengembangan aplikasi, penanganan status code dilakukan untuk memastikan alur logika aplikasi berjalan sesuai dengan respons server. Berikut adalah contoh sederhana penanganan status dalam JavaScript (Fetch API):
fetch('https://api.contoh.com/data')
.then(response => {
if (response.status === 200) {
return response.json();
} else if (response.status === 404) {
console.error('Data tidak ditemukan');
} else {
console.error('Terjadi kesalahan:', response.status);
}
})
.catch(error => console.error('Error:', error));Penggunaan kode status yang tepat membantu pengembang dalam melakukan pemeliharaan sistem dan memberikan umpan balik yang jelas kepada pengguna akhir atau pengembang lain yang mengonsumsi API tersebut.