Langsung ke konten utama

Cara Mudah Membuat API Documentation di Laravel dengan OpenAPI

Pendahuluan

Bayangin lagi ngerjain fitur sederhana, tapi tim frontend atau mobile developer terus-terusan nanya, "Endpoint-nya nerima data apa ya? Response-nya gimana?". Capek kan kalau harus jelasin berulang kali atau nulis manual di Notepad? Saya sendiri dulu sering banget males bikin dokumentasi sampai akhirnya sadar kalau API tanpa dokumentasi itu kayak beli barang online tanpa deskripsi, bikin orang frustrasi. Nah, di Laravel, kita bisa bikin dokumentasi yang *auto-generate* pakai OpenAPI biar hidup lebih tenang.

Tips & Best Practices

  • Di banyak project, biasanya saya mulai dari narasi controller, jadi daripada nulis manual, saya manfaatin anotasi PHP di atas method controller. Ini bikin dokumentasi selalu sinkron sama kode aslinya.
  • Kalau project udah mulai gede, saya selalu pisahin file schema-nya. Jangan numpuk semua di satu file biar nggak pusing pas mau maintenance atau nambahin skema data baru.
  • Selalu biasakan buat testing endpoint lewat UI-nya langsung. Di project saya, ini ngebantu banget pas lagi nge-debug, karena kita bisa langsung tes tanpa harus bolak-balik buka Postman atau Insomnia.

Contoh Kode

Kita bisa pake library kayak knuckleswtf/scribe. Biasanya saya pasang di Laravel dengan command composer require knuckleswtf/scribe --dev. Setelah itu, tambahin anotasi di controller seperti ini:

/**
 * @group User Management
 *
 * Mendapatkan detail profile user.
 * @authenticated
 */
public function show(User $user) {
    return response()->json($user);
}

Cukup jalankan php artisan scribe:generate, semua dokumentasi API bakal muncul otomatis jadi file HTML yang cakep banget.

Variasi Implementasi

Ada dua pendekatan yang biasa saya pakai. Pertama, pakai anotasi langsung di kode (seperti contoh di atas) karena praktis dan nggak perlu ribet pindah-pindah file. Kedua, kalau project-nya butuh standar ketat, saya pakai file YAML terpisah di folder docs. Yang kedua ini lebih rapi buat kolaborasi tim yang butuh dokumentasi independen dari logic kodenya.

Kesalahan Umum

  • Lupa nge-update file dokumentasi pas habis ngerubah skema database, akhirnya frontend malah bingung karena data yang dikirim nggak sesuai.
  • Nggak ngasih deskripsi yang jelas buat error response, padahal itu bagian paling penting pas aplikasi lagi *crashing*.
  • Terlalu malas buat nambahin contoh request, padahal user butuh banget buat tau format JSON-nya kayak apa.
  • Menaruh token auth yang beneran aktif di dokumentasi, bahaya banget kalau nggak sengaja ke-push ke server publik.
  • Nggak nge-generate ulang dokumentasi sebelum deployment, jadinya dokumentasi di production masih versi lama.

Ringkasan

Intinya, dokumentasi API itu bukan beban, tapi investasi. Dengan bikin dokumentasi yang otomatis, waktu kita yang tadinya kebuang buat jawab pertanyaan berulang bisa dipakai buat ngoding fitur yang lebih menantang. Laravel udah nyediain tools-nya, tinggal kita aja yang harus disiplin buat make-nya tiap kali nambah fitur baru.

Komentar

Postingan populer dari blog ini

Fungsi lain tombol penerima panggilan di headset

Kegunaan tombol yang berada di headset utamanya adalah untuk menerima panggilan dan pause panggilan. Dan headset itu sendiri, kadang juga digunakan untuk mendengarkan music, digunakan bersama saat main game, supaya suara yang dikeluarkan oleh gadget tidak terlalu keras sehingga mengurangi beban gadget. Dengan mengurangi beban gadget, ada beberapa yang beranggapan kalau itu akan menghemat batere.

Cara Reset Password Database MySQL Menggunakan Laragon

Cara Reset Password Database MySQL Menggunakan Laragon Laragon adalah salah satu lingkungan pengembangan lokal (local development environment) yang populer di antara para pengembang web. Dalam beberapa kasus, mungkin kita perlu mereset password database MySQL pada Laragon jika lupa password atau untuk alasan keamanan tertentu. Berikut adalah langkah-langkah yang dapat kita ikuti untuk melakukan reset password database MySQL menggunakan Laragon:

Apa Itu R dan L di Headset? Ini Dia Perbedaan dan Fungsinya yang Perlu Anda Ketahui

Arti R dan L di Headset: Apa Perbedaannya? Headset adalah alat yang digunakan untuk mendengarkan suara dari sumber audio seperti ponsel, komputer, atau pemutar musik. Headset biasanya terdiri dari dua bagian, yaitu earphone yang dimasukkan ke dalam telinga dan mikrofon yang digunakan untuk berbicara. Pada earphone, kita sering melihat ada tulisan R dan L. Apa arti dan perbedaan dari kedua huruf tersebut?