Kode Anda berada di Git. Pipeline CI Anda, tinjauan, dan riwayat rilis Anda ada di Git. Jadi, mengapa spesifikasi API Anda berada di tempat lain?
Alur kerja API asli Git menempatkan definisi OpenAPI Anda di tempat yang sama dengan kode Anda. Anda mengedit spesifikasi sebagai file YAML atau JSON biasa, mengkomitnya, dan mendorongnya melalui proses tinjauan yang sama dengan yang Anda gunakan untuk hal lain. Tidak ada basis data cloud terpisah. Tidak ada ritual ekspor-impor. Spesifikasi hanyalah file lain di repositori Anda.
Apa Arti Alur Kerja API Asli Git
Alur kerja API asli Git memperlakukan spesifikasi API Anda sebagai kode. File OpenAPI berada di repositori di samping layanan Anda. Setiap perubahan adalah komit. Setiap komit memiliki penulis, pesan, dan perbedaan.

Ini memberi Anda tiga hal yang sudah Anda harapkan dari kode sumber:
- Riwayat versi. Anda bisa melihat siapa yang mengubah endpoint dan kapan.
git blameberfungsi pada spesifikasi Anda. - Percabangan dan tinjauan. Perubahan spesifikasi melalui pull request. Peninjau melihat perbedaan persis sebelum ada yang digabungkan.
- Satu sumber kebenaran. File di
mainadalah kontraknya. Alat, dokumen, dan mock semuanya membaca dari sana.
Ini adalah ide inti di balik alur kerja API spec-first: spesifikasi memimpin, dan implementasi mengikuti. Untuk melihat lebih dalam praktik tersebut, lihat panduan kami tentang pengembangan API spec-first.
Pendekatan sebaliknya menyimpan spesifikasi Anda di dalam aplikasi cloud proprietary. Itu berfungsi sampai tim Anda berkembang atau proses Anda matang. Kemudian masalahnya muncul.
Masalah dengan Spesifikasi API yang Terkunci di Cloud
Sebagian besar alat desain API menyimpan spesifikasi di basis data mereka sendiri. Anda mengedit melalui UI mereka. "File" yang Anda pikir Anda miliki sebenarnya adalah baris dalam sistem orang lain.
Ini runtuh dengan cara yang dapat diprediksi.
Tinjauan terjadi di dua tempat. Perubahan kode melalui GitHub. Perubahan spesifikasi melalui alat terpisah dengan komentar dan riwayatnya sendiri. Peninjau berpindah konteks. Persetujuan menjadi tidak sinkron.
Perbedaan tersembunyi. Ketika spesifikasi berada dalam basis data cloud, Anda tidak dapat melihat perbedaan baris-demi-baris yang bersih dalam pull request Anda. Anda menyetujui "v3 dari desain" tanpa tahu apa yang sebenarnya berubah.
Ekspor menjadi tugas yang merepotkan. Untuk memasukkan spesifikasi ke CI, Anda mengekspornya, mengkomit hasil ekspor, dan berharap tidak ada yang mengedit salinan cloud sementara itu. Dua sumber kebenaran, satu konflik yang tak terhindarkan.
Otomatisasi melawan Anda. Linter, uji kontrak, dan generator kode menginginkan file di disk. Spesifikasi yang terkunci cloud memaksa langkah pengambilan sebelum semua itu berjalan.
Memperlakukan spesifikasi API Anda sebagai kode menghilangkan semua ini. File adalah spesifikasinya. Git adalah riwayatnya. Pipeline Anda yang sudah ada melakukan sisanya. Kami membahas prinsip ini secara rinci dalam spesifikasi API sebagai kode.
Bagaimana Cara Kerja Mode Spec-First Apidog
Mode Spec-First dibangun untuk tim yang sudah berpikir dalam komit dan cabang. Anda merancang API sebagai file YAML atau JSON mentah, dan Apidog menjaga file-file tersebut tetap sinkron dengan repositori Git Anda secara dua arah.
Inilah yang Anda dapatkan.
Editor OpenAPI bergaya IDE
Anda menulis spesifikasi di editor kode, bukan formulir. Editor ini menghadirkan kenyamanan yang Anda harapkan dari IDE:
- Penyorotan sintaks untuk YAML dan JSON.
- Validasi terhadap skema OpenAPI dan Swagger, sehingga kesalahan muncul saat Anda mengetik.
- Pelengkapan otomatis untuk kata kunci, tipe, dan referensi OpenAPI.
Anda tetap mengontrol file persisnya. Tidak ada bidang tersembunyi, tidak ada metadata khusus UI.
File YAML/JSON Mentah
Spesifikasinya adalah file sungguhan. potongan kecilnya:
openapi: 3.1.0
info:
title: Orders API
version: 1.2.0
paths:
/orders/{orderId}:
get:
summary: Get an order by ID
operationId: getOrder
parameters:
- name: orderId
in: path
required: true
schema:
type: string
responses:
"200":
description: Order found
content:
application/json:
schema:
$ref: "#/components/schemas/Order"
"404":
description: Order not found
components:
schemas:
Order:
type: object
properties:
id:
type: string
status:
type: string
enum: [pending, shipped, delivered]
Ini adalah file yang mendarat di repositori Anda. Apa yang Anda edit itulah yang akan di-komit.
Kerangka yang Dapat Dinavigasi yang Diurai Secara Otomatis
Saat Anda mengetik, Apidog mengurai file dan membangun kerangka visual di sidebar kiri. Path, operasi, dan skema muncul sebagai pohon yang dapat Anda klik. Anda mendapatkan keterbacaan alat desain dan presisi file mentah secara bersamaan.
Spesifikasi panjang tetap dapat dinavigasi. Lompat ke endpoint tanpa menggulir ratusan baris.
Sinkronisasi Git Dua Arah
Mode Spec-First terhubung ke penyedia Git Anda dan menyinkronkan perubahan di kedua arah. Mode ini mendukung GitHub dan GitLab secara langsung, dan Azure DevOps melalui Koneksi Git.
Tarik perubahan yang didorong oleh rekan satu tim Anda. Edit secara lokal di editor Apidog. Lalu komit dan dorong kembali ke cabang yang sama. Repositori dan ruang kerja Anda tetap selaras.
Komit, Push, dan Indikator Status Sinkronisasi
Anda tidak perlu keluar dari Apidog untuk mengelola Git. Tahapkan perubahan Anda, tulis pesan komit, dan push. Indikator status sinkronisasi memberi tahu Anda posisi Anda. Setelah push berhasil, ia akan menampilkan "Tersinkronisasi barusan." Jika Anda berubah pikiran sebelum push, Anda dapat membatalkan editan yang belum di-push dan kembali ke status terakhir yang disinkronkan.
Sinkronisasi dua arah ini adalah jantung dari alur kerja API asli Git. Untuk panduan terfokus tentang sisi GitHub, lihat sinkronkan spesifikasi OpenAPI ke GitHub.
Panduan Penyiapan
Berikut adalah cara beralih dari repositori kosong ke spesifikasi yang tersinkronisasi. Referensi lengkap terdapat dalam dokumen Mode Spec-First.
- Buat proyek dari repositori. Di Apidog, mulai proyek Spec-First baru dan sambungkan penyedia Git Anda. Pilih repositori yang berisi spesifikasi API Anda dan pilih cabang yang akan dilacak, biasanya
main. Apidog menarik file spesifikasi yang ada ke editor.

- Edit spesifikasi. Buka file OpenAPI di editor. Tambahkan endpoint, sesuaikan skema, atau perbaiki respons. Penyorotan sintaks, validasi, dan pelengkapan otomatis memandu Anda saat menulis. Kerangka sidebar kiri diperbarui saat file berubah.
- Lacak file yang dimodifikasi, ditambahkan, dan dihapus. Apidog menunjukkan file mana yang telah Anda ubah sejak sinkronisasi terakhir. File yang dimodifikasi, ditambahkan, dan dihapus ditandai agar Anda tahu persis apa yang akan masuk ke komit.

- Tulis pesan komit. Jelaskan perubahan dalam bahasa yang mudah dimengerti, sama seperti yang Anda lakukan di klien Git mana pun. "Tambahkan respons 404 ke getOrder" lebih baik daripada "perbarui spesifikasi."
- Push. Kirim komit ke cabang yang dilacak. Rekan tim Anda dan pipeline CI Anda sekarang melihat versi baru.

- Periksa "Tersinkronisasi barusan." Perhatikan indikator status sinkronisasi mengonfirmasi push. Ketika menunjukkan "Tersinkronisasi barusan," editan lokal Anda dan cabang jarak jauh cocok. Dari sini, perubahan mengalir melalui pull request dan proses tinjauan normal Anda.
Itu adalah siklus penuh: pull, edit, komit, push, verifikasi. Tidak ada langkah ekspor. Tidak ada sumber kebenaran kedua.
Mode Spec-First vs Design-First
Apidog mendukung dua cara kerja. Perbedaannya adalah di mana spesifikasi berada dan bagaimana Anda mengeditnya.
| Mode Spec-First (beta) | Mode Design-First | |
|---|---|---|
| Penyimpanan Spesifikasi | File YAML/JSON mentah di Git | Proyek cloud Apidog |
| Editor Utama | Editor kode bergaya IDE | UI berbasis formulir visual |
| Kontrol Versi | Git asli (komit, cabang, perbedaan) | Riwayat dan cabang Apidog |
| Sinkronisasi Git Dua Arah | Ya (GitHub, GitLab, Azure DevOps) | Melalui ekspor/impor |
| Terbaik untuk | Tim yang banyak bekerja dengan Git | Tim yang lebih suka alur kerja visual |
Tidak ada mode yang "lebih baik." Keduanya melayani kebiasaan yang berbeda. Jika proses tinjauan dan rilis Anda sudah berjalan di Git, Mode Spec-First menghilangkan celah. Jika tim Anda mendesain secara visual dan jarang menyentuh OpenAPI mentah, Mode Design-First mungkin lebih cocok.
Kapan Menggunakannya
Gunakan Mode Spec-First ketika:
- Spesifikasi Anda harus melalui pull request dan tinjauan kode.
- Anda menginginkan
git blamedan riwayat komit yang sebenarnya pada kontrak API Anda. - CI Anda menjalankan linting spesifikasi, uji kontrak, atau pembuatan kode yang membutuhkan file di disk.
- Beberapa insinyur mengedit spesifikasi dan Anda menginginkan perbedaan yang bersih dan dapat digabungkan.
- Anda lelah mengekspor dari satu alat untuk memberi makan alat lain.
Tetap gunakan pendekatan visual dan cloud-first ketika tim Anda mendesain API tanpa menulis OpenAPI mentah, atau ketika non-insinyur memiliki spesifikasi dan lebih memilih editor berbasis formulir.
FAQ
Apa itu alur kerja API asli Git?
Alur kerja API asli Git menyimpan spesifikasi OpenAPI Anda sebagai file dalam repositori Git dan mengelola setiap perubahan melalui komit, cabang, dan pull request. Spesifikasi mengikuti proses tinjauan dan kontrol versi yang sama dengan kode aplikasi Anda, sehingga ada satu sumber kebenaran.
Apakah Mode Spec-First Apidog mendukung GitHub dan GitLab?
Ya. Mode Spec-First menyinkronkan dua arah dengan GitHub dan GitLab secara langsung. Azure DevOps didukung melalui Koneksi Git. Anda menghubungkan repositori, memilih cabang, dan Apidog menjaga editan Anda dan remote tetap sinkron.
Bisakah saya mengedit file OpenAPI sebagai YAML atau JSON mentah?
Ya. Mode Spec-First memberi Anda editor bergaya IDE untuk YAML dan JSON mentah, dengan penyorotan sintaks, validasi skema, dan pelengkapan otomatis untuk OpenAPI dan Swagger. Kerangka sidebar kiri mengurai file secara otomatis sehingga Anda dapat menavigasi spesifikasi besar dengan cepat.
Apa perbedaan antara mode Spec-First dan Design-First?
Mode Spec-First menyimpan spesifikasi Anda sebagai file di Git dan mengeditnya di editor kode dengan sinkronisasi dua arah. Mode Design-First menyimpan spesifikasi di proyek cloud Apidog dengan editor berbasis formulir yang visual. Pilih Spec-First jika alur kerja Anda sudah berjalan di Git.
Kesimpulan
Alur kerja API asli Git mengakhiri pemisahan antara kode Anda dan kontrak API Anda. Spesifikasi menjadi file, file menjadi komit, dan komit mengalir melalui proses tinjauan yang sudah Anda percayai.
Mode Spec-First Apidog memberi Anda editor bergaya IDE, kerangka yang dapat dinavigasi, dan sinkronisasi Git dua arah untuk mewujudkan hal itu. Anda mengedit YAML atau JSON mentah, mengkomit pesan yang jelas, push, dan melihat status menampilkan "Tersinkronisasi barusan."
Coba Mode Spec-First dan bawa spesifikasi API Anda kembali ke Git.
