Apidog Docs
🇮🇩 Bahasa Indonesia
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇮🇩 Bahasa Indonesia
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇮🇩 Bahasa Indonesia
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
  1. Schemas
  • Pusat Pembelajaran Apidog
  • Memulai
    • Pengantar Apidog
    • Konsep Dasar di Apidog
    • Menavigasi Apidog
    • Mulai cepat
      • Ikhtisar
      • Membuat Endpoint
      • Membuat Permintaan
      • Menambahkan Aservi
      • Membuat Skenario Pengujian
      • Membagikan Dokumentasi API
      • Jelajahi Lebih Lanjut
    • Migrasi ke Apidog
      • Ikhtisar
      • Impor Manual
      • Impor Terjadwal (Ikat Sumber Data)
      • Opsi Impor
      • Ekspor Data
      • Impor dari
        • Impor dari Postman
        • Impor Spesifikasi OpenAPI
        • Impor cURL
        • Impor Markdown
        • Impor dari Insomnia
        • Impor dari apiDoc
        • Impor File .har
        • Impor WSDL
  • Data API mock
    • Ikhtisar
    • Smart Mock
    • Mock Kustom
    • Urutan Prioritas Mock
    • Mock Scripts
    • Cloud Mock
    • Mock Runner Self-Hosted
    • Bahasa Mock (Lokal)
  • Akun dan preferensi
    • Pengaturan Akun
    • Membuat Token Akses OpenAPI
    • Notifikasi
    • Pengaturan Bahasa
    • Tombol Pintas
    • Konfigurasi Proxy Jaringan
    • Mencadangkan Data
    • Memperbarui Apidog
    • Menghapus Akun
    • Fitur Eksperimental
  • Kirim request
    • Ikhtisar
    • Debugging SSE
    • MCP Client
    • Socket.IO
    • WebSocket
    • Webhook
    • SOAP atau WebService
    • GraphQL
    • gRPC
    • Gunakan Agen Proksi Permintaan untuk Debugging
    • Buat request
      • Riwayat Permintaan
      • Dasar-Dasar Permintaan
      • Parameter dan Body
      • Header Permintaan
      • Pengaturan Permintaan
      • Debug Permintaan
      • Menyimpan Permintaan sebagai Endpoint
      • HTTP/2
    • Autentikasi dan otorisasi
      • Ikhtisar
      • Sertifikat CA dan Klien
      • Jenis Otorisasi
      • Digest Auth
      • OAuth 1.0
      • OAuth 2.0
      • Autentikasi Hawk
      • Kerberos
      • NTLM
      • Akamai EdgeGrid
    • Respons dan cookie
      • Melihat Respons API
      • Mengelola Cookie
      • Ikhtisar
  • Mengembangkan dan men-debug API
    • Ikhtisar
    • Membuat Permintaan
    • Mengirim Permintaan
    • Kasus Debugging
    • Kasus Pengujian
    • Nilai Dinamis
    • Memvalidasi Respons
    • Design-First vs Request-First
    • Menghasilkan Kode
    • Environment dan variabel
      • Ikhtisar
      • Menggunakan Variabel
      • Manajemen Lingkungan
    • Rahasia vault
      • Gambaran Umum
      • HashiCorp Vault
      • Azure Key Vault
      • AWS Secrets Manager
    • Modul nilai dinamis
      • Airline
      • Animal
      • Warna
      • Commerce
      • Perusahaan
      • Database
      • Tipe Data
      • Tanggal
      • Keuangan
      • Food
      • Git
      • Hacker
      • Helpers
      • Image
      • Internet
      • Lokasi
      • Lorem
      • Musik
      • Number
      • Orang
      • Telepon
      • Sains
      • String
      • System
      • Vehicle
      • Word
    • Pra dan pascaprosesor
      • Ikhtisar
      • Aservi
      • Ekstrak Variabel
      • Tunggu
      • Keamanan
      • Operasi basis data
        • Ikhtisar
        • MySQL
        • MongoDB
        • Redis
        • Oracle Client
      • Menggunakan skrip
        • Ikhtisar
        • Skrip Pra-Pemroses
        • Skrip Post-processor
        • Skrip Publik
        • Referensi Skrip Postman
        • Memanggil Bahasa Pemrograman Lain
        • Menggunakan Pustaka JS
        • Memvisualisasikan Respons
        • Contoh skrip
          • Skrip Aservi
          • Menggunakan Variabel
          • Memodifikasi Permintaan
          • Contoh Lainnya
    • Debugging API
      • AI Agent Debugger
      • A2A Debugger
  • Mendesain API
    • Ikhtisar
    • Membuat Proyek API Baru
    • Dasar-Dasar Endpoint
    • Panduan Desain API
    • Modul
    • Mengonfigurasi Beberapa Contoh Body Permintaan
    • Komponen
    • Field Umum
    • Parameter Global
    • Riwayat Perubahan Endpoint
    • Komentar
    • Manajemen Endpoint Batch
    • Custom Protocol API
    • Mode Spec-first (Beta)
    • Skema keamanan
      • Gambaran Umum
      • Membuat Skema Keamanan
      • Menggunakan Skema Keamanan
      • Skema Keamanan dalam Dokumentasi Online
    • Fitur lanjutan
      • Bidang Endpoint Kustom
      • Skenario Pengujian Terkait
      • Status Endpoint
      • Tampilan Daftar Parameter
      • Identifikasi Unik Endpoint
    • Schemas
      • Gambaran Umum
      • Membuat Schema Baru
      • Membangun Schema
      • Hasilkan Skema dari JSON dan Sebagainya
      • oneOf, allOf, anyOf
      • Menggunakan Discriminator
  • Pengujian API
    • Gambaran Umum
    • Skenario pengujian
      • Membuat Skenario Pengujian
      • Meneruskan Data Antar Permintaan
      • Kondisi Kontrol Alur
      • Sinkronisasi Data dari Endpoint dan Kasus Endpoint
      • Mengimpor Endpoint dan Kasus Endpoint dari Proyek Lain
      • Mengekspor Skenario Pengujian
    • Laporan pengujian
      • Laporan Pengujian
    • Jalankan skenario pengujian
      • Menjalankan Skenario Pengujian
      • Menjalankan Skenario Pengujian secara Batch
      • Pengujian Berbasis Data
      • Data Pengujian Bersama
      • Tugas Terjadwal
      • Mengelola Lingkungan Runtime API dari Proyek Lain
    • Suite pengujian
      • Ikhtisar
      • Membuat Rangkaian Pengujian
      • Mengorkestrasi Test Suite
      • Menjalankan Rangkaian Pengujian Secara Lokal
      • Menjalankan Suite Pengujian Melalui CLI
      • Tugas terjadwal
    • Uji API
      • Pengujian Integrasi
      • Pengujian Performa
      • Pengujian End-to-End
      • Pengujian Regresi
      • Pengujian Kontrak
    • Apidog CLI
      • Ikhtisar
      • Menginstal dan Menjalankan Apidog CLI
      • Opsi Apidog CLI
    • CI/CD
      • Ikhtisar
      • Integrate with Github Actions
      • Integrasikan dengan Gitlab
      • Integrate with Jenkins
      • Memicu Pengujian melalui Git Commit
  • Publikasikan dokumentasi API
    • Gambaran Umum
    • Teknologi API yang Didukung
    • Berbagi Cepat
    • Melihat Dokumentasi API
    • Dokumentasi Markdown
    • Menerbitkan Situs Dokumentasi
    • Halaman Login Kustom
    • Tata Letak Kustom
    • CSS, JavaScript, HTML Kustom
    • Domain Kustom
    • Fitur AI
    • Pengaturan SEO
    • Pengaturan lanjutan
      • Pencarian Dokumentasi
      • Proxy CORS
      • Mengintegrasikan Google Analytics
      • Pengaturan Pohon Folder
      • Pengaturan Visibilitas
      • Menyematkan Nilai dalam URL Dokumentasi
    • Versi API
      • Gambaran Umum
      • Membuat Versi API
      • Menerbitkan Versi API
      • Membagikan Endpoint dengan Versi API
  • Branch
    • Ikhtisar
    • Membuat Cabang Sprint
    • Menguji API dalam Branch
    • Merancang API dalam Cabang
    • Menggabungkan Cabang Sprint
    • Mengelola Cabang Sprint
    • AI Branch (Beta)
  • Fitur AI
    • Ikhtisar
    • Mengaktifkan Fitur AI
    • Membuat Kasus Pengujian
    • Memodifikasi Skema dengan AI
    • Pemeriksaan Kepatuhan Endpoint
    • Pemeriksaan Kelengkapan Dokumentasi API
    • Penamaan Field Berbasis AI
    • Tanya Jawab Umum
  • Server MCP Apidog
    • Ikhtisar
    • Hubungkan Proyek Apidog ke AI
    • Menghubungkan Dokumentasi yang Dipublikasikan ke AI
    • Menghubungkan File OpenAPI ke AI
  • Praktik terbaik
    • Menangani Tanda Tangan API
    • Mengakses API yang Dilindungi OAuth 2.0
    • Alur Kerja Kolaborasi
    • Mengelola Status Autentikasi
  • Ruang offline
    • Gambaran Umum
  • Administrasi
    • Mengelola proyek
      • Mengelola Proyek
      • Pengaturan Notifikasi
      • Mengelola Anggota Proyek
      • Resource proyek
        • Koneksi Database
        • Koneksi Git
    • Mengelola tim
      • Mengelola Tim
      • Mengelola Anggota Tim
      • Aktivitas Tim
      • Peran & Izin Tim
      • Resource tim
        • General Runner
        • Variabel Tim
        • Request Proxy Agent
      • Kolaborasi real-time
        • Kolaborasi Tim
    • Checklist onboarding
      • Konsep Dasar
      • Panduan Onboarding
    • Mengelola organisasi
      • Mengelola Organisasi
      • Peran & Izin Organisasi
      • Manajemen paket
        • Manajer Penagihan di Organisasi
      • Single Sign-On (SSO)
        • Ikhtisar SSO
        • Mengonfigurasi Microsoft Entra ID
        • Mengonfigurasi Okta
        • Mengonfigurasi SSO untuk Organisasi
        • Mengelola Akun Pengguna
        • Memetakan Grup ke Tim
      • Provisioning SCIM
        • Pengantar Provisioning SCIM
        • Microsoft Entra ID
        • Okta
      • Resource organisasi
        • Self-Hosted Runner
  • Apidog Europe
    • Apidog Europe
  • Penagihan
    • Ikhtisar
    • Kredit
    • Meningkatkan Paket Anda
    • Metode Pembayaran Alternatif
    • Mengelola Langganan
    • Memindahkan Tim Berbayar ke Organisasi
  • Add-on
    • API Hub
    • Plugin Apidog Intellij IDEA
    • Ekstensi browser
      • Chrome
      • Microsoft Edge
    • Proxy request
      • Proksi Permintaan di Web
      • Proxy Permintaan dalam Dokumen Bersama
      • Proxy Permintaan di Client
  • Data dan keamanan
    • Penyimpanan dan Keamanan Data
    • Privasi dan Keamanan Data Pengguna
    • Perutean Permintaan dan Keamanan Data
  • Referensi
    • Pendekatan API Design-First
    • Ekstensi Spesifikasi OpenAPI Apidog
    • JSONPath
    • XPath
    • Ekspresi Reguler
    • JSON Schema
    • Format File CSV
    • Menginstal Lingkungan Java
    • Lingkungan Deployment Runner
    • Sintaks Markdown Apidog
    • Ekstensi Swagger Apidog
      • Gambaran Umum
      • x-apidog-folder
      • x-apidog-status
      • x-apidog-name
      • x-apidog-maintainer
    • Ekstensi JSON Schema Apidog
      • Ikhtisar
      • x-apidog-mock
      • x-apidog-orders
      • x-apidog-enum
  • Pusat dukungan
    • Apidog Support Center
    • Impor/Ekspor
      • Bagaimana cara mengimpor data API ke Apidog?
      • Bagaimana cara mengimpor cURL di Apidog?
      • Bagaimana cara memigrasikan lingkungan Postman ke Apidog?
      • Bagaimana cara mengelompokkan endpoint secara otomatis saat impor Swagger/OpenAPI?
    • Mengirim request
      • Apakah Apidog mendukung Socket.IO?
      • Mengapa tanda "+" dalam nilai parameter didekodekan sebagai spasi?
      • Bagaimana cara mengirim permintaan di Apidog?
      • Bagaimana cara mengirim permintaan graphQL di Apidog?
      • Bagaimana cara mengirim permintaan gRPC di Apidog?
      • Bagaimana cara mengirim permintaan SOAP/WebService di Apidog?
      • Bagaimana cara mengirim permintaan WebSocket di Apidog?
      • Apakah Apidog mendukung skrip pra-permintaan/pengujian dan aservi dalam API WebSocket?
      • Bagaimana cara mengirim permintaan SSE di Apidog?
      • Bagaimana cara menambahkan header default pada tingkat folder?
      • Apakah Apidog mendukung skrip pra-permintaan/pengujian dan aservi dalam API gRPC?
      • Kesalahan Resolver DNS ELANREFUSED.DNS
      • Mengapa saya mendapatkan kesalahan "socket hang up" saat mengirim permintaan?
      • Memperbaiki error request
        • Memperbaiki Kesalahan read ECONNRESET
        • Memperbaiki Kesalahan ECONNREFUSED
        • Memperbaiki Kesalahan ETIMEDOUT
        • Memperbaiki Kesalahan ENOTFOUND: Couldn't resolve host
        • Memperbaiki Kesalahan ENOTFOUND: getaddrinfo ENOTFOUND www
        • Memperbaiki Kesalahan connect EHOSTUNREACH
    • Mendesain API
      • Bagaimana cara menggunakan variabel dalam path?
      • Dapatkah saya menggunakan komponen respons sebagai respons default?
      • Bagaimana cara memeriksa siapa yang telah memodifikasi endpoint?
      • Bagaimana cara menghapus folder endpoint secara massal di Apidog?
      • Bagaimana cara menambahkan/menghapus prefiks secara massal pada path endpoint?
      • Bagaimana cara memindahkan level Properti di Schema Editor?
      • Jika sebuah properti string memiliki beberapa nilai enumerasi dan digunakan di berbagai lokasi, bagaimana enum ini dapat dirujuk secara konsisten di seluruh bagian?
      • Bagaimana cara mendapatkan ID folder resource Apidog?
      • Bagaimana cara mendapatkan ID folder sumber daya Apidog?
      • Bagaimana cara menggunakan variabel dalam path URL?
      • Apa yang harus saya lakukan jika endpoint, dokumen, atau skenario pengujian tidak sengaja dihapus?
      • Apakah Apidog mendukung kode permintaan untuk endpoint kustom?
      • Bagaimana Cara Mengelompokkan Endpoint Secara Otomatis Saat Mengimpor Swagger/OpenAPI ke Apidog?
      • Bagaimana cara menghasilkan data array yang tidak duplikat dalam respons mock?
      • Mengapa input "#" tidak didukung di path?
    • Debugging API
      • Bagaimana Apidog berintegrasi dengan sistem manajemen kunci pihak ketiga?
      • Mengapa permintaan yang sama berfungsi dengan benar di alat lain (seperti Postman), tetapi tidak di Apidog?
      • Bagaimana cara mengambil nilai variabel dari database di Apidog?
      • Bagaimana memigrasikan lingkungan dari alat lain ke Apidog?
      • Bagaimana melakukan aservi menggunakan skrip di Apidog?
      • JSONPath hanya dapat mengekstrak array. Bagaimana kita dapat mengekstrak satu elemen dari dalam array tersebut di Apidog?
      • Bagaimana mengonfigurasi operasi database di Apidog ketika lingkungan yang berbeda memiliki kredensial akun database yang berbeda?
      • Bagaimana cara mendapatkan URL dasar layanan dalam skrip kustom?
      • Mengapa Apidog melaporkan kesalahan yang melebihi panjang string maksimum Node.js ketika respons API terlalu besar?
      • Berapa batas ukuran untuk pencetakan konsol? Mengapa saya mendapatkan kesalahan saat mencetak file berukuran besar?
      • Bagaimana cara mengatasi kesalahan koneksi database DB2 di Windows?
      • Mengapa Saya Mendapatkan Error NJS-045 Saat Menghubungkan ke Database Oracle di Apidog?
      • Bagaimana Cara Menghasilkan Nilai Dinamis dalam Skrip Kustom Apidog?
      • Mengapa permintaan klien untuk endpoint yang sama berhasil, tetapi terjadi kesalahan saat debugging di sisi web: "Tidak dapat meminta alamat"?
      • Mengapa Apidog melaporkan kesalahan ketika respons terlalu besar?
      • Bagaimana cara menggunakan endpoint perekaman Apidog?
      • Saat mendefinisikan respons endpoint, apakah endpoint diperbolehkan tidak memiliki konten respons?
      • Bagaimana cara mendapatkan baseURL layanan dalam skrip kustom?
      • Bagaimana cara melihat paket asli di Apidog?
      • Mengapa saya melihat galat "Invalid URI xxx" saat membuat permintaan?
      • Bagaimana cara membuat permintaan asinkron dalam skrip Apidog?
      • Mengapa saya melihat pesan "Couldn't resolve host" saat mengirim permintaan?
      • Berapa Batas Ukuran Cetak Konsol? Mengapa Saya Mendapatkan Error Saat Mencetak File Besar?
      • Bagaimana cara mengunggah file pada permintaan endpoint?
      • Apa yang Harus Dilakukan Jika Apidog Mengalami Crash atau Data Respons Tidak Ditampilkan?
      • URI Pengalihan Resmi yang Digunakan oleh Apidog untuk OAuth2.0
    • Data API mock
      • Bagaimana cara melakukan mock API secara otomatis?
      • Apa yang dapat dilakukan oleh mocking Apidog?
      • Bagaimana cara melakukan mock data API tetap di Apidog?
      • Bagaimana cara membuat mock data bersyarat di Apidog?
      • Bagaimana cara mengaktifkan cloud mock di Apidog?
      • Bagaimana cara mengaktifkan mock self-hosted di Apidog?
      • Apakah Apidog mendukung mocking API WebSocket?
      • Mengapa Browser Tidak Mengembalikan Konten Saat Meminta Mock endpoint?
    • Pengujian otomatis
      • Mengapa skenario pengujian berjalan tanpa masalah di klien lokal saya, tetapi terjadi kesalahan saat menjalankannya di Apidog CLI atau runner?
      • Bagaimana cara membuat skenario pengujian di Apidog?
      • Bagaimana cara meneruskan data antar langkah pengujian?
      • Mengapa saya tidak dapat berhasil mereferensikan data pra-langkah?
      • Bagaimana cara menggunakan foreach loop di Apidog?
      • Apa perbedaan antara sinkronisasi data dari endpoint/kasus endpoint?
      • Bagaimana cara menggunakan data pengujian di Apidog?
      • Bagaimana cara mengambil data pengujian dalam skrip di Apidog?
      • Bagaimana cara menjalankan skenario pengujian secara batch di Apidog?
      • Bagaimana cara menjadwalkan tugas pengujian di Apidog?
      • Bagaimana menjalankan pengujian performa di Apidog?
      • Bagaimana cara melihat permintaan dan respons aktual dalam pengujian performa?
      • Bagaimana cara mengekspor laporan pengujian kinerja di Apidog?
      • Bagaimana cara menggunakan hasil kueri database sebagai parameter untuk melakukan perulangan permintaan API?
      • Menangkap dan Memvalidasi Webhook Stripe di ApiDog Selama CI/CD
      • Bagaimana cara mengatasi kesalahan "Error: unable to verify the first certificate on runner"?
      • Kesalahan General Runner Docker Container "Not Found".
      • Bagaimana Cara Mengatur Host Server untuk General Runner di Versi Web Apidog?
      • Mengapa Skenario Pengujian Terjadwal Berakhir dengan 0 Permintaan?
      • Apa yang harus saya lakukan jika parameter unggahan file tidak dapat ditemukan di Runner atau CLI?
      • Bagaimana menggunakan Runner untuk menjalankan skenario pengujian dengan langkah unggah file?
      • Bagaimana cara mengatasi kesalahan "Error: unable to verify the first certificate on runner"?
      • Bagaimana cara mengakses dan mencari log runner untuk mengidentifikasi masalah ketika terjadi masalah pada runner?
      • Apa yang harus saya lakukan jika parameter endpoint berupa file unggahan dan tidak dapat ditemukan di Runner atau CLI?
      • Mengapa Langkah Pengujian Tidak Disinkronkan Secara Otomatis Saat Use Case API Berubah?
      • Mengapa Penggunaan Beberapa Tanda Dolar dalam Dokumen Markdown Menyebabkan Beberapa Konten Tidak Ditampilkan dengan Benar?
      • Apakah Runner yang di-host sendiri menghasilkan laporan pengujian di server setelah menjalankan tugas?
      • Dapatkah saya menambahkan pre/post processor terpadu ke permintaan dalam skenario pengujian?
      • Bagaimana cara menjaga nilai dinamis tetap konsisten selama satu kali proses pengujian otomatis?
    • Publikasikan dokumentasi API
      • Bagaimana cara menyembunyikan semua logo Apidog dalam dokumen yang dipublikasikan?
      • Ketika spesifikasi API diperbarui, apakah dokumentasi API akan berubah?
      • Bagaimana cara membagikan API kepada kolaborator di Apidog?
      • Bagaimana menyesuaikan domain dokumentasi Apidog?
      • Bagaimana cara membuat dokumentasi multi-versi di Apidog?
      • Cakupan berbagi untuk Publish Docs Sites di Apidog
      • Cakupan berbagi untuk daftar Share Doc di Apidog
      • Mengapa Share Docs yang Dipublikasikan Tidak Menampilkan Hostname?
      • Bagaimana Pengguna Dokumentasi Dapat Mengubah URL Dasar dalam Dokumentasi Bersama?
      • Dapatkah saya menduplikasi dokumen Apidog yang telah dipublikasikan untuk digunakan dalam proyek saya sendiri?
      • Cara Membagikan Header (misalnya, Token) di Dokumentasi Online Apidog?
      • Mengapa anggota tim saya tidak dapat menemukan dokumentasi yang telah dipublikasikan?
      • Bagaimana cara memperbaiki kedaluwarsa sertifikat SSL atau kesalahan Cloudflare 526 pada domain kustom saya?
      • SMTP Kustom Berhasil Dikonfigurasi, tetapi Pengguna dalam Daftar Izin Tidak Menerima Email OTP
    • Markdown
      • Bagaimana cara menggunakan kartu untuk menautkan ke berbagai halaman atau endpoint dalam Apidog?
      • Mengapa sebagian konten tidak ditampilkan dengan benar saat menggunakan beberapa simbol $ dalam dokumen Markdown?
      • Cara menggunakan gambar berlatar belakang transparan di Markdown Apidog?
      • Bagaimana cara mengatur lebar kolom tabel Markdown?
      • Bagaimana cara menyisipkan API internal, dokumen, skema data, atau folder ke dalam dokumen Markdown?
      • Bagaimana cara menambahkan tautan ke dokumen atau endpoint dalam sebuah proyek di komponen kartu Apidog?
    • Branch
      • Bagaimana cara mengakses sprint branch?
    • Administrasi
      • Bagaimana cara menginstal klien Apidog secara senyap?
      • Mengapa saya melihat kesalahan 'No Permission' meskipun memiliki akses admin?
      • Bagaimana cara memeriksa nomor versi runner?
      • Apakah Apidog mendukung win7?
      • Mengapa Apidog menampilkan kesalahan "Cannot locate program entry point DiscardVirtualMemory in dynamic link library KERNEL32.dll" setelah instalasi?
      • Perubahan Langganan dan Pengembalian Dana
      • Permintaan Web Berfungsi, Tetapi Aplikasi Mendapatkan "read ECONNRESET"—Mengapa?
      • Mengapa Saya Tidak Dapat Membuka Apidog Setelah Pembaruan Sistem Windows?
      • Mengapa Apidog gagal dibuka setelah pembaruan sistem Windows
    • Penagihan
      • Dapatkah saya menyiapkan akun penagihan terpisah untuk tim saya di Apidog?
      • Masalah Akses Tim & Penagihan di Apidog
      • Anggota tim yang diundang tidak dapat mengakses Apidog.
      • Mentransfer Tim Berbayar Personal ke Organisasi
    • On-premises
      • Manajemen Pengguna dan Akses di Apidog Self-Hosted Versi Enterprise
    • Web dan client
      • Pengunduhan dan Instalasi Versi Desktop Linux
  1. Schemas

Membangun Schema

Memanfaatkan Schema Editor#

Schema Editor adalah alat yang andal yang membantu dalam merancang dan memodelkan struktur data yang digunakan oleh API Anda. Alat ini didasarkan pada JSON Schema dan digunakan untuk merancang struktur data JSON atau XML.
Gunakan Schema Editor untuk:
Mengembangkan body permintaan dan respons API yang disesuaikan untuk endpoint API tertentu.
Membangun model data yang dapat diterapkan di satu atau beberapa API.
Setiap schema dimulai dengan objek root. Untuk membangun schema, tambahkan properti ke objek root ini.

Membangun Schema#

1
Tambahkan Properti
Klik tanda + (Tambahkan node turunan) di sebelah objek root untuk memperkenalkan properti baru.
2
Beri Nama Properti Anda
Masukkan nama (atau key) untuk properti tersebut.
3
Pilih Tipe Properti
Pilih tipe data umum atau pilih referensi ke schema yang telah ditentukan sebelumnya.
4
Pengaturan Lanjutan
Gunakan Type Editor untuk menetapkan tipe data, seperti nilai default dan format, untuk setiap properti.
5
Kelola Properti
Susun ulang properti dengan memindahkan, menyalin, atau menghapusnya. Anda juga dapat memperkaya properti dengan deskripsi dan menandainya sebagai wajib.
Metode Alternatif
Anda juga dapat membuat schema baru dengan mengimpor dari tabel database atau file JSON schema. Pelajari selengkapnya tentang Generate Schemas from JSON etc..

Tipe Properti#

Selaras dengan standar JSON Schema, Apidog Schema Editor mendukung tipe data dasar berikut:
TipeDeskripsi
nullMerepresentasikan nilai JSON "null".
booleanMerepresentasikan nilai "true" atau "false", yang sesuai dengan nilai JSON "true" atau "false".
objectMerepresentasikan kumpulan pasangan key-value yang tidak berurutan, yang sesuai dengan nilai JSON "object".
arrayMerepresentasikan daftar nilai yang berurutan, yang sesuai dengan nilai JSON "array".
numberMerepresentasikan nilai angka desimal basis-10 dengan presisi arbitrer, yang sesuai dengan nilai JSON "number".
stringMerepresentasikan string karakter Unicode, yang sesuai dengan nilai JSON "string".
Tipe Data Array
Saat menggunakan tipe data array, properti sub-level ITEMS akan dibuat secara otomatis. Properti ini menentukan tipe data elemen di dalam array.
Selain struktur data standar yang disebutkan sebelumnya, Apidog Schema Editor juga mendukung hal berikut:
Mereferensikan schema lain: Kemampuan untuk mereferensikan dan menggunakan kembali schema yang didefinisikan di tempat lain dalam dokumentasi API.
any: Merepresentasikan nilai yang dapat berupa tipe data apa pun.
Komposisi Schema: Memungkinkan penggabungan beberapa schema untuk membuat struktur data yang kompleks.
Kustomisasi: Memungkinkan pengguna menyesuaikan dan mengadaptasi schema agar memenuhi persyaratan spesifik serta kebutuhan pemodelan data.

Mereferensikan Schema Lain#

Anda dapat menggunakan fitur "Reference other schemas" untuk mereferensikan schema yang telah didefinisikan sebelumnya.
Setelah mereferensikan schema lain, Anda dapat melihat schema yang direferensikan di Schema Editor.
Poin penting tentang schema yang direferensikan:
Setiap modifikasi yang dilakukan pada schema asli akan tercermin dalam schema yang mereferensikannya.
Schema yang direferensikan tidak dapat diedit secara langsung; untuk melakukan perubahan, Anda dapat:
Mengklik nama schema untuk menavigasi ke schema asli dan mengeditnya.
Dengan mengklik Dereference pada schema, schema tersebut akan berubah menjadi serangkaian properti independen, sehingga Anda dapat mengeditnya satu per satu.
Jika Anda perlu memodifikasi definisi properti tertentu secara independen, Anda dapat memilih untuk melakukan Dereference pada properti tersebut, sehingga memungkinkan modifikasi individual. Perubahan apa pun pada schema asli tidak akan memengaruhi properti yang telah di-dereference.
Dalam kasus ketika tidak semua properti dari schema yang direferensikan diperlukan di endpoint, Anda dapat mengklik Hide untuk menyembunyikan properti yang tidak diperlukan.

Komposisi Schema#

Jika suatu properti dalam struktur data Anda dapat memiliki beberapa kemungkinan tipe data, Anda dapat menggunakan Komposisi Schema untuk menggabungkan beberapa schema.
Apidog mendukung keyword komposisi berikut:
KeywordDeskripsi
allOf (AND)Menentukan bahwa properti harus mematuhi semua schema yang didefinisikan dalam komposisi.
anyOf (OR)Menentukan bahwa properti dapat sesuai dengan salah satu schema yang tercantum dalam komposisi.
oneOf (XOR)Menentukan bahwa properti harus mematuhi satu dan hanya satu dari schema yang didefinisikan dalam komposisi.
Setelah memilih Komposisi Schema, sub-properti bernama "0" dan "1" akan muncul di bawah properti, yang merepresentasikan setiap schema dalam komposisi. Anda dapat memodifikasi tipe schema untuk setiap sub-properti dan menambahkan schema tambahan sesuai kebutuhan.
Dalam dokumentasi API, Komposisi Schema akan ditampilkan seperti ini:
Anda akan melihat dua objek opsional di bawah OneOf. Jika Anda ingin menampilkan namanya seperti yang ditunjukkan pada gambar, Anda perlu memasukkan nama tersebut di bidang title dalam Type Editor.

Kustomisasi#

Dengan memilih "Customize," Anda dapat mengedit JSON Schema secara langsung di dalam editor.

Pengaturan Properti#

Untuk setiap properti, terdapat beberapa tombol yang terletak di sebelah tipe data:
Tombol pengaturan properti
TombolDeskripsi
*Menunjukkan apakah properti tersebut wajib.
NMenentukan apakah properti mengizinkan nilai null.
SettingsMemungkinkan Anda mengedit pengaturan lanjutan di Type Editor.

Type Editor#

Type Editor mendeskripsikan properti secara visual selaras dengan JSON Schema.
Setelah pengaturan lanjutan ini dikonfigurasi, pengaturan tersebut akan berlaku di area berikut:
1.
Saat menambahkan contoh respons, Anda dapat mengklik untuk membuatnya secara otomatis berdasarkan pengaturan.
2.
Pengaturan tersebut akan ditampilkan dalam dokumentasi API.
3.
Dalam body permintaan, Anda dapat mengklik untuk membuatnya secara otomatis berdasarkan pengaturan.
4.
Saat mengirim permintaan, data yang dikembalikan akan divalidasi secara otomatis terhadap pengaturan tersebut.
5.
Dalam layanan mock, data respons akan dibuat berdasarkan pengaturan tersebut.

Properti Enumerasi#

Untuk tipe String, Integer, dan Number, Apidog mendukung enum. Dengan mengaktifkan sakelar enum, Anda dapat menambahkan nilai enum dan deskripsi. Selain itu, Anda dapat melakukan Bulk Edit untuk nilai enum.

Mock#

Selain pengaturan lanjutan pada properti, Anda dapat menentukan konten mock untuk bidang dengan mengisi nilai mock. Nilai mock memiliki prioritas atas pengaturan dalam pengaturan lanjutan.
Nilai mock mendukung sintaks Faker.js, sehingga Anda dapat memilih data faker yang diinginkan secara langsung dari opsi dropdown.
Nilai mock juga dapat dimasukkan sebagai nilai tetap.

Pengaturan XML#

Untuk data XML, Type Editor di Apidog menawarkan Pengaturan XML tambahan. Anda dapat mengaktifkan sakelar XML, mengonfigurasi properti seperti nama tag, namespace, dan sebagainya, serta melihat pratinjau struktur XML yang sesuai.

HashMap, Dictionary, Array#

HashMap, juga dikenal sebagai Map, dictionary, atau associative array. Ini adalah kumpulan pasangan key-value, di mana nama key dapat berupa konten apa pun, bukan yang telah ditentukan sebelumnya.
Spesifikasi OpenAPI mendukung pendefinisian HashMap dengan key string. Hal ini dilakukan dengan menetapkan tipe elemen ke object, lalu menggunakan keyword additionalProperties untuk menentukan tipe nilai dalam pasangan key-value.
Misalkan terdapat API kueri informasi pengguna, dan format data yang dikembalikan memiliki persyaratan berikut:
1.
Data yang dikembalikan adalah sebuah objek
2.
Elemen turunan dari objek tersebut adalah pasangan key-value dari sebuah HashMap
3.
ID pengguna adalah key, dan informasi pengguna adalah nilainya
Untuk mendefinisikan ini di Apidog:
1
Buat schema baru dan beri nama "UserProfiles".
2
Di "UserProfiles", tentukan node root sebagai tipe "object". Kemudian klik Advanced Configuration, atur additionalProperties ke Allow, dan klik tombol Settings di sebelah kanan.
Konfigurasi HashMap
3
Dalam pop-up, tambahkan informasi pengguna yang diperlukan, dengan nama dan email pengguna sebagai bidang objek. Informasi ini disimpan secara otomatis.
Menambahkan bidang informasi pengguna
4
Dalam respons dokumentasi API, referensikan schema pada node root dan pilih "user profiles" yang baru saja Anda buat.
Mereferensikan schema profil pengguna
5
Klik simpan, lalu Anda dapat melihat schema yang telah didefinisikan dan nilai contoh dalam contoh respons pengembalian di dalam dokumentasi API.
Contoh schema dalam dokumentasi API

Objek dengan additionalProperties#

Seiring iterasi pekerjaan pengembangan aktual, objek yang dikembalikan oleh API mungkin memiliki additionalProperties dibandingkan dengan objek yang awalnya didefinisikan. Menurut spesifikasi OpenAPI, situasi ini juga dapat ditangani menggunakan fitur "additionalProperties".
Misalkan sekarang terdapat API kueri informasi pengguna, di mana bidang respons yang awalnya didefinisikan saat mengueri informasi pengguna berdasarkan ID pengguna adalah name dan email. Sekarang, dengan peningkatan sistem, Anda ingin menyertakan bidang lain.
Saat mengedit dokumentasi API, Anda dapat mendefinisikannya sebagai berikut: Pada node root model data, klik Advanced Settings, atur additionalProperties ke Allow, dan atur tipe nilai bidang ke any.
Mengatur additionalProperties
Kemudian Anda dapat melihat struktur data yang telah didefinisikan dan nilai contoh dalam dokumentasi API.
Struktur data dengan additionalProperties

Tuple#

Biasanya, elemen internal dari sebuah array harus bertipe sama, sedangkan tuple dapat berisi tipe data yang berbeda. Jika Anda ingin mendefinisikan tuple yang mencakup tipe string dan integer, seperti data (0,"A",2,"C"), Anda dapat menetapkan tipe elemen ke array dalam model data, kemudian menetapkan tipe items ke anyOf dalam pola kombinasi, lalu menambahkan elemen turunan bertipe string dan integer masing-masing.
TIP
Jika Anda ingin menghasilkan beberapa elemen saat membuat contoh, harap tentukan jumlah minimum dan maksimum elemen dalam pengaturan lanjutan node root.
Mendefinisikan tuple
Setelah menyimpan, klik Generate Automatically dalam dokumentasi API untuk melihat struktur data yang telah didefinisikan dan nilai contoh.
Nilai contoh tuple
Anda juga dapat melihat nilai contoh tuple dalam respons pengembalian di dokumentasi.
Tuple dalam dokumentasi

Alat#

Schema Editor di Apidog menyediakan beberapa alat yang sangat berguna.
AlatDeskripsi
Generate from JSON etc.Alat ini memungkinkan Anda membuat schema secara otomatis dari JSON, data XML, dan sumber lain, atau langsung dari struktur tabel database. Pelajari selengkapnya tentang Generate schemas from JSON etc..
PreviewAlat ini membuat data mock yang mematuhi definisi schema, sehingga memberikan pratinjau data yang diharapkan.
Generate codeAlat ini dapat menghasilkan kode definisi struktur data dalam berbagai bahasa pemrograman. Pelajari selengkapnya tentang Generate code.
JSON SchemaAlat ini memungkinkan pengeditan langsung JSON schema untuk penyempurnaan dan kustomisasi.

FAQ#

T: Jika properti string memiliki beberapa nilai enumerasi dan digunakan di berbagai lokasi, bagaimana enum ini dapat direferensikan secara konsisten di seluruh bagian?
J: Anda dapat mendefinisikan properti ini sebagai schema mandiri yang terdiri dari satu properti, sehingga memungkinkannya direferensikan secara konsisten di berbagai bagian dokumentasi API.
Modified at 2026-06-11 10:17:04
Previous
Membuat Schema Baru
Next
Hasilkan Skema dari JSON dan Sebagainya
Built with