Analisis Mendalam tentang Kode Status API, Kode Kesalahan, dan Pernyataan: Kunci untuk Mengoptimalkan Panggilan API

Artikel ini menyelami kode status API, kode kesalahan, dan pernyataan, serta bagaimana mereka menentukan kesuksesan atau kegagalan panggilan API. Dengan elemen ini, pengembang dapat mendiagnosis dan memperbaiki masalah dengan lebih baik saat berinteraksi dengan API.

"Kode status HTTP 200? Bagus! Tunggu... mengapa saya mendapatkan pesan kesalahan?!"

Selamat datang di dunia yang menipu dari kode status dan kode kesalahan—di mana kesuksesan tidak selalu seperti yang terlihat, dan lampu hijau tidak berarti Anda telah mencapai tujuan.

Panduan ini adalah peta jalan Anda melalui labirin:

  • Berhenti pertama: Apa sih kode status itu sebenarnya? (Hint: seperti kurir berteriak "Paketnya disampaikan!" atau "Alamat tidak ditemukan!" di depan pintu Anda.)
  • Kemudian kami menyelami kode kesalahan—gremlin cryptic kecil di tubuh respons yang mengatakan, "Tidak, permintaan Anda secara teknis berhasil, tetapi sebenarnya gagal."
  • Dan akhirnya, temui teman terbaik baru Anda: pernyataan. Pikirkan mereka sebagai detektor kebohongan API Anda—mendeteksi kegagalan tersembunyi bahkan ketika segalanya terlihat baik-baik saja.

Pada akhirnya, Anda akan tahu bagaimana cara mengetahui jika API Anda benar-benar bekerja, atau hanya pura-pura seperti siswa yang mengatakan "hadir" di kelas sambil diam-diam keluar dari jendela.

Berhenti Pertama: Apa Itu Kode Status?

Perumpamaan pengiriman

Bayangkan mengirim paket. Pembaruan kurirnya sangat blak-blakan:

  • "Dikirim." (200)
  • "Alamat tidak ditemukan." (404)
  • "Anda tidak diizinkan mengirim ini." (403)
  • "Gudang kami meledak." (500)

Itulah yang dilakukan kode status HTTP — server ramah (atau tidak begitu ramah) berteriak balik bagaimana permintaan Anda berjalan pada tingkat teknis.

Kode Status HTTP Umum:

Kode Status Arti Contoh Dunia Nyata
200 OK, permintaan berhasil Login berhasil, data diambil
201 Dibuat Pengguna atau pesanan baru dibuat
204 Tidak Ada Konten Penghapusan berhasil, tidak perlu membalas
400 Permintaan Buruk Bidang hilang, format tidak valid
401 Tidak Berizin Token hilang atau kadaluwarsa
403 Dilarang Anda bukan admin, teman
404 Tidak Ditemukan ID Pengguna? Ya, itu tidak ada
500 Kesalahan Server Internal Kebangkrutan basis data, kode panik, dll.
💡 Pikirkan kode status sebagai lampu lalu lintas — mereka memberi tahu Anda jika jalan bebas hambatan, tetapi tidak memberi tahu Anda bagaimana isi bagasi.

Berhenti Kedua: Jadi... Apa Itu Kode Kesalahan?

kode kesalahan

Anda memanggil API. Kode statusnya 200. Anda mengangguk. "Bagus, semua hijau."

Anda melihat ke tubuh respons — dan boom:

{
  "error": true,
  "internalError": false,
  "code": 106,
  "message": "Tidak ada lelucon yang cocok ditemukan",
  "causedBy": [
    "Tidak ada lelucon yang ditemukan yang cocok dengan filter yang Anda berikan."
  ]
}

Tunggu, apa?! "Saya pikir 200 berarti sukses!"

Twist alur cerita: itu secara teknis berhasil.

Bom Kebenaran: HTTP Status ≠ Kesuksesan Bisnis

Kode status HTTP (200, 404) hanya amplopnya.
Mereka memberi tahu Anda server menerima permintaan Anda dan merespons — tidak memberi tahu Anda apakah permintaan Anda masuk akal.

  • âś… kode status = 200: Selamat! Servernya hidup dan merespons.
  • ❌ kode = INVALID_REQUEST: Oops. Datanya salah, logika bisnis Anda gagal.
Kode status HTTP adalah orang penjaga pintu. Kode kesalahan bisnis adalah manajer perekrutan. Anda masuk pintunya… tetapi tetap ditolak.

Jadi, Apa Itu Kode Kesalahan?

Kode kesalahan dibuat khusus oleh pengembang backend untuk mewakili kegagalan logika bisnis.
Pikirkan: gagal login, produk kehabisan stok, kartu kredit kedaluwarsa — semacam kekacauan kehidupan nyata.

Tim yang berbeda mendefinisikan kode yang berbeda — tetapi inilah yang biasanya ada:

Kode Kesalahan Bisnis Umum

Kode Kesalahan Ditemukan di Arti
INVALID_REQUEST Umum Bidang hilang, jenis salah
UNAUTHORIZED Umum Pengguna tidak login, token tidak valid
FORBIDDEN Umum Anda tidak memiliki izin
NOT_FOUND Umum Sumber daya tidak ada
CARD_EXPIRED PayPal Kartu Anda sudah waktunya tidur
INSUFFICIENT_FUNDS PayPal Uang tidak cukup, waktunya panik
INVALID_ARGUMENT Google APIs Argumen di luar jangkauan, atau format salah
ALREADY_EXISTS Google APIs Sumber daya sudah ada
PERMISSION_DENIED Google APIs Anda tidak diizinkan mengakses itu

đź§ľ Contoh Respons Kesalahan

Gaya Stripe:

{
  "error": {
    "type": "invalid_request_error",
    "code": "resource_missing",
    "message": "Tidak ada pelanggan seperti: 'cus_123'"
  }
}

Gaya PayPal:

{
  "name": "CARD_EXPIRED",
  "message": "Kartu tersebut telah kedaluwarsa.",
  "details": [
    {
      "field": "/payment_source/card/expiry",
      "issue": "CARD_EXPIRED"
    }
  ]
}

Tapi Bagaimana Jika Tidak Ada Kode Kesalahan Standar?

Terkadang tim backend hanya… mencoba. Atau tidak ada dokumen bersama.
Berikut yang dapat Anda lakukan:

  1. Tanyakan kepada backend Anda: "Yo, ada dokumen kode kesalahan global tidak?"
  2. Tulis pernyataan untuk menangkap masalah berulang.
  3. Dorong strategi kode kesalahan yang tepat dalam tim Anda — percayalah, masa depan Anda akan berterima kasih.
⚡ Kode status HTTP memberi tahu Anda jika listriknya menyala. Kode kesalahan memberi tahu Anda jika lampunya benar-benar menyala.

Kode Status vs Kode Kesalahan: Mengenal Lapisan

Lapisan Didefinisikan oleh Tujuan Contoh
Kode Status Standar HTTP (IETF) Permintaan secara teknis berhasil? 200, 404, 500
Kode Kesalahan Anda / Perusahaan Anda Logika bisnisnya berhasil? CARD_EXPIRED, PERMISSION_DENIED
đź’ˇ Kode status = "Liftnya berhasil bekerja?"
Kode kesalahan = "Apakah Anda sampai di lantai yang benar?"

Berhenti Terakhir: Mengapa Pernyataan Adalah Senjata Rahasia Anda

pernyataan

Mengapa Pernyataan?

Karena…

  • Anda tidak dapat mempercayai kode status saja
  • Anda perlu menangkap kegagalan diam-diam secara otomatis
  • Anda ingin mendeteksi regresi dengan cepat
  • Dan yang sebenarnya: memeriksa JSON dengan mata telanjang itu menyakitkan

Bagaimana EchoAPI Membantu Anda Menulis Pernyataan Seperti Profesional

Atur peraturan pernyataan kustom seperti:

aturan pernyataan

Dapatkan umpan balik visual instan tentang sukses atau gagal:

hasil pernyataan

Mengapa Pernyataan Adalah Bodyguard API Anda

Pernyataan seperti kacamata röntgen untuk API Anda. Mereka menangkap:

1. Kegagalan diam-diam di balik kode status hijau

Hanya karena itu mengatakan 200 OK tidak berarti login Anda berhasil.
Pernyataan memungkinkan Anda memverifikasi bidang utama seperti error = false, data != null, atau code == 0.

2. Menguji secara massal tanpa kehilangan akal sehat Anda

Menjalankan 50 API secara manual adalah mimpi buruk.
Dengan pernyataan + otomatisasi:

  • Jalankan tes secara massal
  • Lihat tepatnya langkah mana yang gagal, dan mengapa
  • Sisipkannya ke CI/CD, dapatkan peringatan seketika saat sesuatu rusak

3. Menangkap perubahan nama bidang yang licik

Backend Anda diam-diam mengubah nama userName menjadi username.
Terlihat seperti 200, bau kesuksesan — tetapi frontend Anda rusak.

Pernyataan menangkapnya.
Anda tertawa sementara yang lain menangis.

Pernyataan = alarm kebakaran API + detektor kebohongan, semua dalam satu.

Tanpa Pernyataan vs Dengan Pernyataan

Fitur Hanya Periksa Status Gunakan Pernyataan âś…
Mendeteksi kegagalan logika bisnis ❌ Tidak ✅ Ya
Mendeteksi kesalahan secara otomatis ❌ Manual saja ✅ Otomatis
Jalankan tes massal ❌ Melelahkan ✅ Satu klik
Mendeteksi perubahan nama bidang ❌ Harus squint ✅ Peringatan instan
Validasi sebelum rilis ❌ Harapkan yang terbaik ✅ Disetujui CI

Kesimpulan

Kode status adalah penjaga pintu — mereka memberi tahu Anda jika Anda masuk ke gedung.
Kode kesalahan adalah resepsionis — mereka memberi tahu Anda jika janji temu Anda berhasil.
Pernyataan adalah bodyguard — mereka memastikan tidak ada yang berbohong kepada Anda.