Skip to content

emka.web.id

writing knowledge, recording civilization

Menu
  • Home
  • Tutorial
  • Search
Menu

Cara Sederhanakan Dokumentasi API dengan Swagger

Posted on September 1, 2024

Anda pernah mencoba mendokumentasikan API Anda menggunakan Swagger?

Biasanya, setelah menonton tutorial dan membaca dokumentasi resmi OpenAPI, kita cenderung menulis semuanya dalam satu file YAML. Kita mendefinisikan komponen, skema, dan lainnya di satu tempat.

Ini mengakibatkan file YAML dengan ratusan baris kode, yang sulit dibaca, dimodifikasi, dan di-debug dalam jangka panjang.

Satu-satunya solusi yang ditawarkan adalah menggunakan SwaggerHub milik OpenAPI, yang sayangnya tidak gratis.

Tidak ideal, bukan?

Pendekatan Modular untuk Dokumentasi API yang Lebih Baik

Ada cara yang lebih baik untuk mendekati dokumentasi API dengan Swagger: dengan menggunakan pendekatan modular.

Alih-alih menulis semua kode dalam satu file, kita dapat membaginya menjadi beberapa file YAML yang lebih kecil, masing-masing mewakili bagian tertentu dari API.

Misalnya, kita dapat membuat folder terpisah untuk parameter, sumber daya, respons, dan skema.

Dengan cara ini, struktur kode menjadi lebih teratur dan mudah dipahami.

Menggabungkan File YAML dengan swagger-cli

Setelah kita memiliki file YAML yang terstruktur dengan baik, kita dapat menggabungkannya menjadi satu file menggunakan alat swagger-cli.

Berikut adalah langkah-langkahnya:

  1. Buat folder terpisah untuk setiap bagian dari API.
  • Misal: parameters, resources, responses, dan schemas.
  1. Buat file YAML untuk setiap bagian, dengan nama yang deskriptif.
  • Contoh: users.yaml di folder resources.
  1. Ekspor setiap file YAML sebagai modul.
  2. Buat file YAML utama yang mengimpor semua modul YAML yang telah dibuat.
  3. Gunakan swagger-cli untuk menggabungkan semua file YAML menjadi satu.

Berikut contoh perintah yang dapat digunakan:

npx swagger-cli bundle src/openapi.yaml -outfile _build/openapi.yaml -type yaml

Perintah ini akan menggabungkan semua file YAML di folder src dan menyimpannya dalam satu file di folder _build.

Mengujinya di Swagger Live Editor

Setelah file YAML gabungan selesai dibuat, Anda dapat mencobanya di Swagger Live Editor.

Cukup salin dan tempelkan konten file YAML ke editor dan lihat bagaimana dokumentasi API Anda ditampilkan.

Keuntungan Pendekatan Modular

Pendekatan modular menawarkan beberapa keuntungan:

  • Kemudahan pemeliharaan: Kode menjadi lebih mudah dipahami dan diubah.
  • Kemudahan debugging: Jika terjadi kesalahan, Anda dapat dengan mudah menemukan sumbernya.
  • Kolaborasi yang lebih baik: Setiap orang dapat mengerjakan bagian yang berbeda dari API tanpa perlu khawatir tentang konflik kode.
  • Struktur yang lebih baik: Kode menjadi lebih terorganisir dan mudah di-navigate.

Kesimpulan

Dengan menggunakan pendekatan modular untuk mendokumentasikan API dengan Swagger, Anda dapat membuat proses dokumentasi menjadi lebih efisien dan efektif.

Anda akan memiliki kode yang lebih terorganisir, mudah diubah, dan mudah di-debug.

Selain itu, Anda dapat memanfaatkan kekuatan swagger-cli untuk menggabungkan semua file YAML menjadi satu file yang dapat digunakan di Swagger Live Editor.

Untuk melihat contoh implementasi pendekatan modular ini, Anda dapat mengunjungi repositori GitHub saya.

Terbaru

  • AI Made Everything Faster, Including Bad Decisions
  • Raspberry Pi Desktop Available of PC and Mac, Based on Debian 13
  • Why I Stopped Yelling at My PC When Error; Getting Windows 11 Voice Isolation and Access to Actually Work
  • Berobat Kanker ke Malaysia: Berapa Biayanya dan Apa Saja yang Perlu Disiapkan?
  • Stop Sending Every Prompt to the Biggest AI Model You Can Find
  • Stop Building AI Agents from Scratch: My Pick for the Best Native Windows Setup
  • Jev Is Faster and Cheaper, But I Still Recommend Clef. Here’s Why.
  • Weird XCP-NG Bug or Feature? Enable Maintenance Mode = Host Not Enough Memory
  • Vinix OS: Another OS That Want to Beat Linux, Try it!
  • Trying NVX, An Ultra-Light Micro-VM Sandbox from Microsoft
  • Learning NocoDB from Scratch: Creating a Simple Greenhouse App
  • How RHEL 10.2 Quietly Turned Into an Absolute Security Beast
  • Grab Videos from Anywhere with ReClip (Can Running Locally)
  • Jumped onto Ubuntu 26.04 LTS? Here’s How to Add a New User Account
  • Tutorial Cara Install WPS Office di Linux (Alternatif Microsoft Office)
  • Tutorial Upgrade Server Ubuntu 24.04 LTS ke Ubuntu 26.04 LTS dengan Aman
  • Inilah Alasan kenapa akun TikTok dibatasi tidak bisa klaim koin dan masalah pembatasan lainnya?
  • Apa penyebab gagal kirim SMS ke 89888 padahal pulsa masih ada?
  • Mengenal Donghua: Kenapa Animasi dari Tiongkok Ini Lagi Naik Daun Banget
  • OpenAI Bocorin Data Gambar Pengguna? Ini Kabar Terbaru Soal Insiden AI yang Bikin Heboh
  • Kenapa Postingan Instagram Kalian Sepi Like Padahal Followers Udah Banyak? Ini Rahasianya
  • Cara Menambah View Story Instagram Gratis Biar Nggak Sia-sia
  • Kenapa View TikTok Kalian Mentok di Angka Kecil dan Cara Ngatasinnya
  • Imbas Pesatnya Laporan CVE, Ubuntu Bakal Rilis Kernel Update Tiap Dua Minggu
  • Cara Gampang Cari Kata di Google Sheets Pakai Laptop sama HP
  • Kabar Terbaru Antigravity SDK: Sekarang Bisa Pakai Model Lokal Kayak Gemma 4 26B Tanpa Perlu Internet
  • Kabar Terbaru Model K2 Horizon Dirilis: MoVA 36B EXL3 Buat Kalian yang Punya GPU Beragam
  • Ini Alasan Kenapa Kalian Harus Cek Masa Dukungan HP Android Kalian Sekarang Juga
  • Cara Cek Followers Baru Asli atau Bot Tanpa Harus Ngitung Satu-Satu
  • Claude Opus 5.5 Baru Rilis, Bikin AI Kalian Jadi Jauh Lebih Powerfull!
  • Canonical: Ubuntu coming soon to Snapdragon X2 Series platforms
  • Finally, wolfSSL adds post-quantum algorithms!
  • How to Run Gemma Embedding Models Using Docker
  • Deploy Nginx Rootful Container with Podman
  • How to Sandboxing Browser on Linux Desktop with Flatpak
  • Pruna AI Release their Qwen-Image 2.1 LoRA Adapter, 6x Faster than Regular Qwen
  • The Rise and Fall of the Coding Holy Grail: Is Stack Overflow Just AI Fuel Now?
  • Zyphra is The Pioneer, Why Everyone is Suddenly Obsessed with AMD and Not Just Nvidia Anymore
  • Stop Trusting Your Prompts to Save Your Business Data
  • How to Automate Your Entire SEO Strategy Using a Swarm of 100 Free AI Agents Working in Parallel
  • Arhan kok ra ono neng Timnas? Iki kabar terbarune nggo warga sing nunggu lemparan jarak jaughe
  • Banyak pemain Timnas lahir di luar negeri, sebenarnya bedanya pemain diaspora sama naturalisasi itu apa sih?
  • Lagi error, banyak yang gagal transfer di Flip hari ini Senin 5 Oktober 2026
  • Kapan pengumuman kelulusan Beasiswa Unggulan 2026? Jangan kemakan info tanggal di medsos, ini penjelasan lengkapnya
  • Hati-hati warga, banyak link download FF Beta Testing versi 1.118.1 yang katanya bisa unlock all skin, jangan asal klik!

©2026 emka.web.id | Design: Newspaperly WordPress Theme