Di Apidog, merancang dan menyiapkan endpoint API merupakan langkah mendasar dalam membuat API yang kuat dan efektif.Disarankan untuk merancang endpoint sesuai dengan OpenAPI Specification (OAS) guna memastikan kompatibilitas yang lancar dengan berbagai alat dan layanan dalam ekosistem OpenAPI. Penyimpangan dari OAS dapat menyebabkan masalah kompatibilitas saat menggunakan alat dan layanan yang mematuhi OpenAPI.
Untuk membuat endpoint baru di dalam modul APIs, klik tombol Endpoint Baru.
Endpoint yang jelas dan lengkap harus mencakup elemen-elemen berikut:
1.
Path endpoint
2.
Metode permintaan
3.
Metadata endpoint
4.
Permintaan
5.
Respons dan contoh
Mode Design-first
Mode Request-first
Mode Antarmuka
Antarmuka endpoint Apidog memiliki dua mode: Mode Design-first untuk pendekatan API Design-first dan Mode Request-first untuk pendekatan Code-first. Anda dapat mengganti mode di sudut kiri bawah antarmuka. Pelajari lebih lanjut tentang Mode Design-first/Mode Request-first.
Path endpoint berfungsi sebagai alamat spesifik tempat API dapat berinteraksi dengan aplikasi eksternal. Inilah yang akan digunakan klien untuk mengakses layanan API.
Apidog mengikuti pendekatan OpenAPI Specification. Alih-alih menulis URL lengkap untuk setiap endpoint, Anda hanya perlu memasukkan path (misalnya, /users). URL dasar diatur dalam lingkungan, dan Apidog secara otomatis menambahkannya saat membuat permintaan ke endpoint.
Agar tetap konsisten dengan standar OpenAPI, Apidog juga menyarankan agar semua path dimulai dengan /. Hal ini menjaga desain API Anda tetap bersih, terorganisasi, dan memastikan Anda mendapatkan manfaat penuh dari fitur-fitur Apidog.
Mengapa Path Harus Dimulai dengan /
Memulai path dengan / disarankan agar sesuai dengan OAS. Tidak memulai path dengan / dapat menyebabkan berbagai masalah kompatibilitas saat menggunakan alat dalam ekosistem OpenAPI.
Selain itu, penggunaan / di awal path memungkinkan pemanfaatan fungsionalitas mock pola URL yang penting untuk keperluan pengujian dan validasi di Apidog.
Metode permintaan menentukan bagaimana klien berinteraksi dengan sumber daya sisi server. Setiap metode memiliki semantiknya sendiri dan menentukan respons server. Saat merancang API, pilih metode permintaan yang paling sesuai berdasarkan kebutuhan bisnis agar operasi yang dimaksud dapat dijalankan secara efektif.
Berikut adalah metode permintaan API yang umum digunakan:
Metode
Deskripsi
GET
Mengambil sumber daya tertentu tanpa efek samping. Menggunakan parameter kueri untuk mengirimkan data.
POST
Mengirimkan data untuk diproses dan dapat memiliki efek samping. Data biasanya dikirim dalam body permintaan.
PUT
Memperbarui atau mengganti sumber daya tertentu secara keseluruhan.
DELETE
Menghapus sumber daya tertentu.
OPTIONS
Menanyakan metode HTTP yang didukung oleh sumber daya target.
HEAD
Mirip dengan GET, tetapi hanya mengambil header respons. Berguna untuk memeriksa keberadaan dan modifikasi sumber daya tanpa mengunduh konten sumber daya.
PATCH
Memperbarui sebagian informasi dari sumber daya tertentu.
TRACE
Mengembalikan permintaan yang diterima oleh server. Terutama digunakan untuk keperluan debugging dan diagnostik.
CONNECT
Membuat tunnel ke server, biasanya digunakan untuk penerusan permintaan server proxy.
Di Apidog, endpoint dilengkapi dengan bidang metadata default yang mendefinisikan dan mengelola dokumentasi, aksesibilitas, dan siklus hidup API.
Berikut adalah ringkasan singkat dari setiap bidang metadata default:
Bidang
Deskripsi
Nama
Nama deskriptif yang menjelaskan fungsionalitas endpoint.
Status
Status default adalah "Developing". Anda dapat mengubahnya untuk mencerminkan tahapan yang berbeda seperti Testing atau Production. Pelajari lebih lanjut tentang status Endpoint.
Maintainer
Menentukan anggota tim Apidog yang bertanggung jawab atas endpoint. Pilih pengguna dari akun Anda untuk menetapkan peran ini.
Tag
Kata kunci atau frasa yang mengategorikan atau mendeskripsikan endpoint. Anda dapat membuat tag baru atau memilih dari tag yang sudah ada.
Layanan
URL dasar tempat path endpoint ditambahkan. Secara default diatur ke "Inherit from parents", tetapi dapat ditentukan secara manual melalui pengaturan lingkungan. Pelajari lebih lanjut tentang Lingkungan dan layanan.
OperationId
Pengidentifikasi unik (operationId dalam OAS) yang membedakan operasi ini dalam API.
Deskripsi
Informasi terperinci tentang tujuan dan penggunaan endpoint, dengan dukungan Markdown untuk pemformatan yang lebih baik.
Bidang Kustom
Selain bidang metadata standar yang disediakan untuk endpoint, Anda memiliki fleksibilitas untuk menambahkan bidang kustom guna memperkaya metadata endpoint lebih lanjut.
Parameter kueri adalah pasangan key-value yang ditambahkan ke akhir URL setelah tanda tanya ?, dan dipisahkan oleh & sebagai berikut: ?id=2&status=available. Parameter ini digunakan untuk memfilter, mengurutkan, atau memodifikasi output dari endpoint API.
INFO
Di Apidog, parameter kueri dijelaskan dalam bagian terpisah demi kejelasan dan keteraturan. Namun, saat mengirim permintaan, parameter kueri ini digabungkan dengan path endpoint dengan cara yang dijelaskan di atas.
Parameter path merupakan bagian dari URL endpoint itu sendiri dan digunakan untuk mengidentifikasi sumber daya atau entitas tertentu dalam API.Di Apidog, parameter path ditandai menggunakan kurung kurawal alih-alih titik dua. Contoh yang benar: /pets/{id}, Contoh yang salah: /pets/:id.Jika Anda perlu menggunakan variabel dalam parameter path, pendekatan yang disarankan adalah mendefinisikannya sebagai {parameter} dalam URL, lalu menggunakan {{variable}} untuk nilai parameter. Contoh:
Disarankan: Letakkan variabel pada nilai parameter path
Tidak disarankan: Letakkan variabel langsung di URL
Jangan Mencampuradukkan {parameter} dan {{variable}}
{parameter}: Kurung kurawal tunggal merepresentasikan parameter path di Apidog. Parameter path adalah placeholder dalam path URL yang berubah secara dinamis menjadi nilai tertentu saat endpoint API diakses.
{{variable}}: Kurung kurawal ganda menyertakan variabel dalam permintaan. Variabel ini dapat diganti dengan nilai aktual saat permintaan dikirim, sehingga memungkinkan input yang dinamis dan dapat disesuaikan dalam interaksi API.
Mengapa TIDAK Menggunakan {{variable}} dalam Path
Penggunaan {{variable}} tidak sesuai dengan OAS. Mengikuti OAS memungkinkan integrasi yang lancar dengan berbagai alat dalam ekosistem OpenAPI.
Penggunaan {{variable}} dalam path akan mencegah penggunaan fungsionalitas mock pola URL di Apidog.
Parameter header menyediakan informasi tambahan tentang permintaan yang dibuat dan biasanya digunakan untuk autentikasi, jenis konten, serta metadata lainnya.
Parameter body berisi data yang akan dikirim dalam body permintaan, biasanya digunakan dalam permintaan POST, PUT, dan PATCH untuk membuat atau memperbarui sumber daya. Data biasanya dikirim dalam format JSON atau XML.
Parameter harus dideskripsikan dengan nama, tipe (string, integer, boolean, dll.), keharusan (wajib atau opsional), serta nilai default atau batasan apa pun.Saat mendeskripsikan parameter, properti utama berikut umum digunakan:
Properti
Deskripsi
Nama
Menentukan nama parameter yang sedang dideskripsikan. Ini adalah bidang wajib dan harus secara akurat merepresentasikan parameter yang sedang didefinisikan.
Tipe
Menentukan tipe data dari nilai parameter. Nilai umum mencakup string, number, integer, boolean, array, object, dan lainnya. Properti ini membantu mendefinisikan format dan struktur nilai parameter.
Deskripsi
Memberikan penjelasan singkat atau dokumentasi mengenai parameter. Ini membantu pengguna memahami tujuan dan penggunaan parameter.
Wajib
Menentukan apakah parameter bersifat wajib untuk permintaan API. Ini adalah nilai boolean (true atau false) yang menunjukkan apakah parameter harus disertakan dalam permintaan.
Pengaturan Lanjutan
Mendefinisikan tipe data, format, dan batasan parameter. Ini memungkinkan Anda memberikan informasi terperinci tentang struktur dan konten yang diharapkan dari nilai parameter.
Type Editor
Anda dapat memodifikasi pengaturan lanjutan parameter secara efisien menggunakan Type Editor. Pelajari lebih lanjut tentang Type Editor.
Setelah mengirim permintaan ke API, server mengembalikan respons. Mendefinisikan respons yang diharapkan dan menyediakan contoh ilustratif merupakan langkah penting yang meningkatkan keterpahaman dan kegunaan bagi pengembang yang berinteraksi dengan API Anda.
Definisi respons yang dikembalikan terutama mencakup bagian-bagian berikut:
Komponen
Deskripsi
Kode Status HTTP
Tentukan semua status respons potensial yang mungkin dikembalikan endpoint Anda, termasuk respons standar seperti 200 (OK), 404 (Not Found), atau 500 (Server Error).
Format Data
Definisikan format respons yang akan dikembalikan API untuk setiap kode status. Ini dapat berupa JSON, XML, HTML, Raw, Binary, atau format lain yang sesuai.
Skema
Untuk respons yang membawa data (terutama status 200), jelaskan struktur payload respons secara terperinci. Ini mencakup penentuan tipe, objek bersarang, bidang opsional, dan array. Definisi yang jelas membantu pengembang klien memahami data apa yang diharapkan dan cara menguraikannya. Hanya JSON dan XML yang dapat mengonfigurasi skema. Untuk informasi terperinci, lihat Skema.
Contoh
Menyediakan contoh respons sangat penting untuk menggambarkan bagaimana API berperilaku dalam skenario dunia nyata. Contoh idealnya berupa set data sampel yang dikembalikan oleh server saat endpoint dipanggil dengan permintaan yang telah ditentukan sebelumnya. Contoh tersebut harus mencerminkan struktur, format data, dan tipe sebagaimana didefinisikan oleh skema respons.
Secara umum, disarankan untuk mendefinisikan setidaknya satu respons berhasil dan satu respons error untuk setiap endpoint dalam dokumentasi API Anda. Praktik ini memastikan cakupan komprehensif atas berbagai hasil potensial, sehingga memberikan pemahaman yang jelas kepada pengembang tentang bagaimana API berperilaku dalam berbagai skenario.Klik tombol + Tambah di sudut kanan atas modul Respons untuk menambahkan respons.
Biasanya dalam desain API, meskipun respons berhasil 200 OK sering berbeda di berbagai endpoint karena kebutuhan data output yang berbeda, respons error seperti 400 Bad Request dan 404 Not Found cenderung konsisten di berbagai endpoint. Apidog secara cerdas menangani kesamaan ini dengan fitur Komponen Respons, yang memungkinkan penggunaan ulang respons error yang telah ditentukan sebelumnya, sehingga membuat proses dokumentasi API lebih efisien dan perilaku API lebih konsisten.
Jika komponen respons tidak diperlukan, Anda dapat memilih untuk Menambahkan Respons Kosong guna mendefinisikan respons unik dalam endpoint individual.
Klik "Tambahkan Contoh" untuk menyertakan contoh respons di Apidog.Satu respons dapat menampung beberapa contoh yang beragam. Saat menambahkan contoh, berikan nama untuk contoh tersebut dan data respons yang sesuai.
Setelah menyelesaikan spesifikasi endpoint, klik "Simpan" untuk menyimpan perubahan Anda. Kemudian, beralih ke tab "API" untuk melihat pratinjau endpoint yang baru saja Anda konfigurasi.