Bagikan melalui


Pembangun API Data (pratinjau)

Ekstensi MSSQL untuk Visual Studio Code menyertakan UI terintegrasi untuk penyusun Api Data, sehingga Anda dapat membuat titik akhir REST, GraphQL, dan MCP untuk tabel database SQL Anda tanpa menulis file konfigurasi atau meninggalkan Visual Studio Code. Anda dapat memilih tabel mana yang akan diekspos, mengonfigurasi izin CRUD, memilih jenis API, mempratinjau konfigurasi yang dihasilkan, dan menyebarkan backend lokal yang didukung oleh pembuat API Data, semuanya dari antarmuka visual.

Cuplikan layar UI penyusun API Data dengan daftar entitas dan kotak centang CRUD di Visual Studio Code.

Petunjuk / Saran

Penyusun API Data saat ini dalam pratinjau dan mungkin berubah berdasarkan umpan balik. Bergabunglah dengan komunitas di GitHub Discussions untuk berbagi ide atau melaporkan masalah.

Penting

Fitur ini memiliki batasan yang diketahui, termasuk dukungan khusus autentikasi SQL untuk penyebaran kontainer dan kompatibilitas jenis data terbatas. Tinjau Batasan yang diketahui dan Masalah yang diketahui sebelum menyebarkan.

Features

Integrasi penyusun API Data menawarkan kemampuan ini:

  • Pilih entitas database (tabel) untuk diekspos sebagai titik akhir API, diatur menurut skema dengan pengelompokan yang dapat diciutkan.
  • Konfigurasikan izin Buat, Baca, Perbarui, dan Hapus (CRUD) secara independen untuk setiap entitas.
  • Pilih jenis API untuk dihasilkan: REST, GraphQL, MCP, atau kombinasi apa pun.
  • Konfigurasikan pengaturan entitas tingkat lanjut termasuk jalur REST kustom, nama jenis GraphQL kustom, dan peran otorisasi.
  • Pratinjau konfigurasi JSON yang dihasilkan oleh Data API builder pada panel Definisi yang hanya-baca.
  • Sebarkan penyusun API Data secara lokal sebagai kontainer Docker dengan pemeriksaan prasyarat otomatis.
  • Uji API yang berjalan langsung di Visual Studio Code menggunakan Browser Sederhana bawaan.
  • Gunakan obrolan GitHub Copilot untuk mengonfigurasi entitas melalui perintah bahasa alami.

Prasyarat

Sebelum Anda menggunakan penyusun Data API, pastikan persyaratan berikut terpenuhi:

Pembangun Api Data Terbuka

Anda dapat membuka tampilan konfigurasi penyusun Api Data dari dua titik masuk:

  • Dari Object Explorer: Klik kanan pada simpul database dan pilih Build Data API (Pratinjau)....

    Cuplikan layar tampilan konfigurasi penyusun API Data dengan daftar entitas dan kotak centang CRUD di Visual Studio Code.

  • Dari Perancang Skema: Pilih tombol API Desain (tombol di sudut kanan atas toolbar), atau pilih ikon Backend di panel sisi kiri.

    Cuplikan layar tombol API Desain dan ikon Backend di toolbar Desainer Skema.

Tampilan konfigurasi penyusun API Data terbuka, menampilkan entitas database, opsi jenis API, dan kontrol konfigurasi Anda.

Pilih entitas

Tampilan pemilihan entitas mencantumkan semua tabel dari database tersambung Anda, dikelompokkan menurut skema.

  • Setiap baris skema dapat diciutkan dan menunjukkan lencana hitungan yang menunjukkan berapa banyak entitas yang diaktifkan (misalnya, "3/5").
  • Pilih kotak centang tingkat skema untuk mengalihkan semua entitas dalam skema tersebut. Kotak centang mendukung pilihan tiga status: semua, tidak ada, atau campuran.
  • Setiap baris entitas ditampilkan: kotak centang aktifkan, nama entitas, tabel sumber, kotak centang CRUD, dan tombol pengaturan.
  • Menonaktifkan entitas akan membuat barisnya berwarna abu-abu dan menonaktifkan kotak centang CRUD serta tombol pengaturan.

Gunakan kotak filter di bagian atas untuk mencari entitas menurut nama, skema, atau tabel sumber. Filter tidak peka huruf besar/kecil, dan jumlah yang diaktifkan diperbarui berdasarkan hasil filter.

Cuplikan layar kotak filter entitas dengan istilah pencarian yang memfilter daftar entitas.

Mengonfigurasi izin dan jenis API

Izin CRUD

Alihkan kotak centang Buat, Baca, Perbarui, dan Hapus individual untuk setiap entitas. Kotak centang CRUD di tingkat header dapat mengubah tindakan tersebut untuk semua entitas yang diaktifkan dan mendukung pemilihan tiga-status.

Pilihan jenis API

Di bagian atas tampilan konfigurasi, pilih jenis API yang akan dihasilkan:

  • REST API: Menghasilkan titik akhir REST dengan UI Swagger untuk pengujian.
  • GraphQL: Menghasilkan titik akhir GraphQL dengan taman bermain Nitro GraphQL.
  • MCP (Preview): Menghasilkan titik akhir Protokol Konteks Model.
  • Semua: Menyaring atau menghapus pilihan semua jenis API.

Pilih setidaknya satu jenis API.

Cuplikan layar kotak centang REST API, GraphQL, MCP, dan Semua di bagian atas tampilan konfigurasi penyusun API Data.

Konfigurasi entitas tingkat lanjut

Pilih ikon gigi pada baris entitas untuk membuka dialog Konfigurasi Entitas Tingkat Lanjut , tempat Anda dapat mengonfigurasi:

  • Nama Entitas: Nama yang digunakan dalam rute dan respons API (default ke nama tabel).
  • Peran Otorisasi: Beralih antara Anonim (tidak diperlukan autentikasi) dan Diautentikasi (memerlukan autentikasi pengguna).
  • Jalur REST Khusus: Penggantian opsional untuk jalur default api/entityName.
  • Tipe GraphQL Kustom: Penggantian yang bersifat opsional untuk nama tipe GraphQL bawaan.

Pilih Terapkan Perubahan untuk menyimpan konfigurasi Anda, atau Batal untuk membuang.

Cuplikan layar dialog Konfigurasi Entitas Tingkat Lanjut memperlihatkan bidang Nama Entitas, Peran Otorisasi, Jalur REST Kustom, dan Jenis GraphQL Kustom.

Konfigurasi pratinjau

Pilih tombol Tampilkan Konfigurasi di toolbar untuk membuka panel Definisi di bagian bawah tampilan konfigurasi. Panel ini menunjukkan file konfigurasi JSON penyusun Api Data yang dihasilkan dalam format baca-saja.

Panel Definisi:

  • Mencerminkan pemilihan entitas saat ini, jenis API, dan pengaturan tingkat lanjut.
  • Tetap sinkron dengan UI dan obrolan GitHub Copilot: perubahan yang dilakukan di lokasi mana pun akan segera memperbarui pratinjau.
  • Hanya menyertakan entitas yang diaktifkan dalam output konfigurasi.
  • Menampilkan bagian runtime REST, GraphQL, dan MCP berdasarkan jenis API yang dipilih.

Pilih Buka di Editor untuk melihat konfigurasi di tab editor Visual Studio Code lengkap. Pilih Salin untuk menyalin konfigurasi ke clipboard.

Cuplikan layar panel Definisi memperlihatkan konfigurasi JSON penyusun API Data yang dihasilkan dengan tombol Buka di Editor dan Salin.

Menyebarkan secara lokal dengan Docker

Penyusun API Data disebarkan sebagai kontainer Docker lokal. Wizard penyebaran memandu Anda melalui proses:

  1. Pilih tombol Sebarkan di toolbar.

  2. Dialog Sebarkan Kontainer DAB terbuka, yang menjelaskan penyebaran kontainer lokal. Pilih Selanjutnya.

    Cuplikan layar dialog Sebarkan Kontainer DAB dengan deskripsi penyebaran kontainer lokal.

  3. Layar Getting Docker Ready menjalankan pemeriksaan prasyarat secara berurutan:

    • Memeriksa penginstalan Docker: Memverifikasi Docker diinstal pada sistem Anda.
    • Memulai Docker Desktop: Memastikan Docker Desktop berjalan.
    • Memeriksa mesin Docker: Memverifikasi mesin Docker sudah siap.

    Cuplikan layar pemeriksaan prasyarat Docker berjalan secara berurutan.

    Pilih Berikutnya untuk melanjutkan setelah semua pemeriksaan selesai.

    Cuplikan layar pemeriksaan prasyarat Docker berhasil diselesaikan.

  4. Layar Pengaturan Kontainer muncul:

    • Nama Kontainer: Nama opsional untuk kontainer Docker (default yang dibuat secara otomatis disediakan).
    • Port: Port untuk mengekspos API pada (default: 5000).
    • Kontainer menggunakan kembali string koneksi dari koneksi database aktif.

    Pilih Buat Kontainer.

    Cuplikan layar Pengaturan Kontainer dengan bidang Nama Kontainer dan Port.

  5. Penyebaran menjalankan tiga langkah secara berurutan: menarik gambar, memulai kontainer, dan memeriksa kesiapan.

    Cuplikan layar kemajuan penyebaran memperlihatkan langkah-langkah pembuatan kontainer.

  6. Pada penyebaran yang berhasil, wizard menampilkan URL titik akhir untuk setiap jenis API yang diaktifkan:

    Jenis API Titik Akhir Action
    REST http://localhost:{port}/api View Swagger membuka UI Swagger
    GraphQL http://localhost:{port}/graphql Nitro membuka taman bermain GraphQL
    MCP http://localhost:{port}/mcp Menambahkan ke Visual Studio Code menulis konfigurasi server MCP ke .vscode/mcp.json

    Pilih tautan apa pun untuk membuka antarmuka pengujian di Browser Sederhana bawaan Visual Studio Code.

    Cuplikan layar lengkap penyebaran yang menunjukkan kontainer penyusun API Data berjalan dengan URL titik akhir.

    Contoh berikut menunjukkan antarmuka pengguna Swagger untuk menguji titik akhir REST langsung di Visual Studio Code:

    Cuplikan layar antarmuka pengguna Swagger untuk titik akhir REST di Browser Sederhana Visual Studio Code.

    Contoh berikut menunjukkan taman bermain Nitro GraphQL untuk menguji kueri dan mutasi GraphQL:

    Cuplikan layar taman bermain Nitro GraphQL di Browser Sederhana Visual Studio Code.

Menguji API yang sedang berjalan

Setelah penyebaran, Anda dapat menguji API langsung dari dialog penyelesaian penyebaran menggunakan Browser Sederhana bawaan Visual Studio Code.

REST API

Pilih Tampilkan Swagger untuk membuka antarmuka pengguna Swagger, antarmuka visual interaktif untuk menjelajahi dan menguji titik akhir REST. Anda dapat menelusuri entitas yang tersedia, melihat skema permintaan dan respons, dan menjalankan panggilan API secara langsung.

Penyusun API Data menghasilkan titik akhir REST berikut untuk setiap entitas yang diaktifkan:

Metode Titik Akhir Deskripsi
GET /api/{entity} Mencantumkan semua rekaman untuk entitas
GET /api/{entity}/{primaryKey}/{value} Mendapatkan satu rekaman menurut kunci primer
POST /api/{entity} Membuat rekaman baru
PUT /api/{entity}/{primaryKey}/{value} Ganti rekaman yang sudah ada
PATCH /api/{entity}/{primaryKey}/{value} Memperbarui bidang tertentu pada rekaman
DELETE /api/{entity}/{primaryKey}/{value} Hapus sebuah catatan

Untuk informasi selengkapnya tentang endpoint REST, lihat Data API Builder REST API.

GraphQL

Pilih Nitro untuk membuka taman bermain Nitro GraphQL, tempat Anda dapat menulis dan menguji kueri dan mutasi GraphQL secara interaktif.

Untuk informasi selengkapnya tentang titik akhir GraphQL, lihat API GraphQL penyusun API Data.

MCP

Pilih Tambahkan ke Visual Studio Code untuk menulis konfigurasi server MCP ke .vscode/mcp.json. Konfigurasi ini membuat titik akhir penyusun API Data tersedia sebagai server MCP dalam Visual Studio Code. Alat AI seperti GitHub Copilot kemudian dapat berinteraksi dengan database Anda melalui API penyusun API Data.

Untuk informasi selengkapnya tentang MCP di Visual Studio Code, lihat Menggunakan server MCP di Visual Studio Code.

Pengujian terminal

Anda juga dapat menguji titik akhir dari terminal:

REST API:

Dapatkan semua rekaman dari entitas tertentu:

curl http://localhost:{port}/api/{entityName}

Buat rekaman baru (jika Buat izin diaktifkan):

curl -X POST http://localhost:{port}/api/{entityName} \
  -H "Content-Type: application/json" \
  -d '{"Column1": "Value1", "Column2": "Value2"}'

GraphQL:

curl -X POST http://localhost:{port}/graphql \
  -H "Content-Type: application/json" \
  -d '{"query": "{ {entityName} { items { Column1 Column2 } } }"}'

Petunjuk / Saran

Ganti {port} dengan port yang Anda konfigurasi selama penyebaran (default: 5000).

Integrasi GitHub Copilot

Untuk pengembang yang lebih suka bahasa alami, GitHub Copilot dibangun ke dalam pengalaman penyusun API Data. Pilih tombol Obrolan di toolbar untuk membuka sesi chat GitHub Copilot yang ditujukan untuk konteks konfigurasi Data API builder. GitHub Copilot dan UI tetap sinkron: perubahan yang dilakukan melalui obrolan segera tercermin di UI dan sebaliknya.

Berikut adalah beberapa contoh perintah:

  • "Enable all SalesLT entities for read operations"
  • "Expose only the Customer and Product tables with full CRUD permissions"
  • "Set all entities in the dbo schema to read-only"
  • "Disable the BuildVersion and ErrorLog entities"
  • "Can you also enable MCP for the Data API builder API?"

Contoh berikut menunjukkan GitHub Copilot yang mengaktifkan entitas dan mengonfigurasi izin CRUD melalui prompt obrolan:

Cuplikan layar GitHub Copilot yang mengaktifkan entitas dan mengatur izin CRUD melalui perintah bahasa alami dalam obrolan penyusun API Data.

Contoh berikut menunjukkan GitHub Copilot mengaktifkan endpoint MCP untuk konfigurasi penyusun API Data.

Cuplikan layar GitHub Copilot yang mengaktifkan titik akhir MCP melalui perintah bahasa alami dalam obrolan pembuat API Data.

Nota

Integrasi GitHub Copilot mengharuskan ekstensi GitHub Copilot dan GitHub Copilot Chat diinstal dan masuk. Untuk instruksi penyiapan, lihat Menyiapkan GitHub Copilot.

Batasan yang diketahui

  • Hanya tabel: UI konfigurasi hanya mendukung tabel. Tampilan dan prosedur tersimpan tidak tersedia di desainer saat ini.
  • Docker Desktop diperlukan: Penyebaran lokal mengharuskan Docker Desktop diinstal dan dijalankan.
  • Autentikasi SQL saja: Kontainer Docker Lokal tidak mendukung metode autentikasi ID Microsoft Entra, seperti ActiveDirectoryInteractive, karena lingkungan kontainer tidak dapat membuka browser untuk alur masuk interaktif. Ekstensi menampilkan pemberitahuan jika koneksi Anda saat ini menggunakan jenis autentikasi yang tidak didukung.
  • Database SQL di Microsoft Fabric tidak didukung: Database SQL di Microsoft Fabric memerlukan autentikasi Microsoft Entra secara eksklusif dan tidak mendukung autentikasi SQL. Karena penyebaran kontainer lokal memerlukan autentikasi SQL, penyebaran terhadap database SQL di Fabric bukanlah skenario yang layak.
  • Kunci primer yang diperlukan: Setiap entitas tabel yang diekspos melalui penyusun API Data harus memiliki batasan kunci utama yang ditentukan di tingkat database. Tabel tanpa kunci primer menyebabkan mesin penyusun API Data gagal saat startup.
  • Output yang dihasilkan AI harus ditinjau: GitHub Copilot mungkin menghasilkan konfigurasi yang salah atau suboptimal. Selalu tinjau konfigurasi yang dihasilkan sebelum menyebarkan.

Masalah yang diketahui

  • Jenis data SQL Server yang tidak didukung: Penyusun API Data tidak dapat membuat serialisasi jenis data SQL Server tertentu. Tabel yang berisi kolom dengan jenis yang tidak didukung dapat menyebabkan mesin gagal saat startup. Jenis yang tidak didukung meliputi geography, , geometry, hierarchyid, rowversionsql_variant, dan xml. Ekstensi menandai entitas yang terpengaruh dengan ikon peringatan dan mencegahnya dipilih untuk penyebaran. Untuk informasi terbaru tentang dukungan jenis data, lihat Masalah GitHub #3181.
  • Autentikasi ID Microsoft Entra interaktif tidak didukung untuk penyebaran kontainer: Kontainer penyusun API Data tidak dapat melakukan autentikasi Microsoft Entra interaktif. Koneksi yang menggunakan metode ID Microsoft Entra interaktif diblokir dengan pemberitahuan. Untuk informasi selengkapnya, lihat Masalah GitHub #3246.
  • MCP sedang dalam pratinjau: Pengalaman pembangun Data API MCP saat ini dalam pratinjau. Untuk informasi selengkapnya, lihat Data API builder MCP Preview.

Tanggapan dan dukungan

Jika Anda memiliki ide, umpan balik, atau ingin terlibat dengan komunitas, bergabunglah dengan diskusi di https://aka.ms/vscode-mssql-discussions. Untuk melaporkan bug, kunjungi https://aka.ms/vscode-mssql-bug. Untuk meminta fitur baru, buka https://aka.ms/vscode-mssql-feature-request.