Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

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

  • Cuma 2 Jutaan! Ini 6 Rekomendasi HP Paling Worth It Buat Multitasking dan Gaming Ringan
  • Rumor Galaxy Z Flip8 Jadi Seri Terakhir: Mengapa Samsung Mungkin Berhenti Bikin HP Lipat Clamshell?
  • Jangan Asal Lap! Inilah Cara Membersihkan Layar TV LED yang Benar Agar Tidak Rusak
  • Realme Narzo 100x 5G Segera Rilis: Baterai 8.000mAh, Layar 144Hz, dan Sertifikasi Militer
  • Waspada Penipuan Akun Mobile Legends: Kenali Pentingnya Marketplace Resmi dan Status PSE
  • Review DJI Osmo Pocket 4P: Kamera Saku Lensa Ganda yang Bikin Kamera Pro Kelihatan Ribet!
  • Samsung Bisa “AirDrop” ke iPhone? Cek Cara Pakai Fitur Quick Share Terbaru Ini!
  • Vivo X Fold 6 Bakal Masuk Indonesia? Speknya Gila, Baterai 7.000 mAh & Kamera 200 MP!
  • Bocoran iPhone Air 2: Akhirnya Apple Nggak Cuma Jual Tipis, Tapi Juga Baterai Awet dan Kamera Oke!
  • Google Search Console rilis fitur Social Media Property, bisa pantau TikTok & Instagram
  • Hati-hati! 22 Platform Digital Terancam Diblokir Pemerintah, Cek Daftar Hotel dan Maskapainya di Sini
  • Baterai 7.000mAh & Standar Militer, Inilah Moto G77 Power
  • Gila Sih! Vivo Rilis HP Baterai 8.000 mAh di 2026, Nggak Perlu Ribet Bawa Powerbank Lagi?
  • Gak Perlu HP Mahal buat Pake AI: Intip Fitur Canggih di Samsung Galaxy A37 dan A57 yang Bikin Hidup Lebih Gampang
  • Bocoran Galaxy Unpacked Juli 2026: Z Fold 8 & Z Flip 8 Bakal Fokus ke On-Device AI, Makin Canggih atau Cuma Gimmick?
  • Duel Tablet 2 Jutaan: ADVAN Tab Sketsa 3 vs itel VistaTab 30GT, Mana yang Lebih Worth It buat Kerja?
  • Review Asus ExpertBook PM5 G2: Laptop Bisnis Rasa AI, Ringan tapi Gak Kaleng-kaleng
  • Review Redmi Pad 2 9.7 4G: Tablet Murah yang Bisa Pakai Kartu SIM, Worth It Nggak?
  • Review JBL Quantum Series: Inilah Alasan Kenapa Audio Berkualitas Bisa Bikin Kamu Menang Main Game
  • Review Vivo Y500: HP Baterai Jumbo 8.100mAh yang Bikin Nggak Perlu Cari Colokan Lagi!
  • Oppo Reno16 Series Resmi Masuk Indonesia: Kamera 200MP dan Fitur AI yang Bikin Konten Jadi Sat-set!
  • Jangan Tergiur Harga Murah! Inilah Risiko Fatal Membeli iPhone WiFi Only yang Wajib Kamu Tahu
  • Cara Membuat Caption Berbeda di Setiap Foto Carousel Instagram, Fitur Baru yang Bikin Konten Makin Kece!
  • Review Lenovo Idea Tab Pro Gen 2: Tablet Android Rasa Laptop dengan Fitur AI Canggih
  • Inilah Rekomendasi HP Midrange Terbaik Selain Xiaomi 17T dengan Kamera Potret Premium
  • Inilah Bocoran Spek dan Harga Nubia Neo 5 GT & REDMAGIC 11S Pro: HP Gaming Anti Throttling!
  • Rekomendasi HP OPPO Termurah 2026: Cek Perbandingan A5i, A3X, dan A6x!
  • Cara Memilih Water Heater Listrik Hemat Energi dan Aman untuk Smart Home
  • Strava Kena PPN di Indonesia: Langganan Premium Jadi Mahal? Cek Faktanya di Sini!
  • Viral Petani Tuban “Numpang” Drone, Emang Bisa Ya Drone Angkat Manusia? Ini Faktanya!
  • Deploy Nginx Rootful Container with Podman
  • How to Sandboxing Browser on Linux Desktop with Flatpak
  • How to Hardening Journald on Linux Server (Fedora/AlmaLinux)
  • Block Bad USB on Linux Server with USBGuard
  • How to Secure NetworkManager on Fedora/AlmaLinux
  • How to Automate Your Entire SEO Strategy Using a Swarm of 100 Free AI Agents Working in Parallel
  • How to create professional presentations easily using NotebookLM’s AI power for school projects and beyond
  • How to Master SEO Automation with Google Gemini 3.1 Flash-Lite in Google AI Studio
  • How to create viral AI video ads and complete brand assets using the Claude and Higgsfield MCP integration
  • How to Transform Your Mac Into a Supercharged AI Assistant with Perplexity Personal Computer
  • Langkah Nyata Novotel dan WWF Prancis Jaga Ekosistem Laut Lewat Meja Makan
  • Bedah Citra Pearly Glow UV Moisturizer: Benarkah Efektif Mencerahkan atau Sekadar Melembapkan?
  • Kenapa Harus Pilih Facial Wash Non-SLS? Intip Rekomendasi Wardah untuk Jaga Skin Barrier Tetap Sehat
  • Lagi rame soal penggeledahan Cafe de’Clan Signature di Cipete, siapa sebenarnya Ferry Yanto Hongkiriwang?
  • Lagi rame bahas bapaknya Dhot Design, kok nggak muncul-muncul? Ternyata ini jawabannya

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