Panduan Status Code REST API: Definisi dan Kategori Lengkap

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

KelasKategoriDeskripsi
1xxInformationalPermintaan diterima dan sedang diproses.
2xxSuccessPermintaan berhasil diterima, dipahami, dan diproses.
3xxRedirectionTindakan lebih lanjut diperlukan untuk menyelesaikan permintaan.
4xxClient ErrorKesalahan pada sisi klien (permintaan tidak valid).
5xxServer ErrorKesalahan 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.