Mulai cepat: Menggunakan penyusun API Data dengan MySQL
Dalam Mulai Cepat ini, Anda membuat sekumpulan file konfigurasi penyusun Api Data untuk menargetkan database MySQL lokal.
Prasyarat
- Docker
- .NET 8
- Klien manajemen data
- Jika Anda tidak memiliki klien yang terinstal, instal Azure Data Studio
Tip
Atau, buka Mulai Cepat ini di GitHub Codespaces dengan semua prasyarat pengembang sudah diinstal. Cukup bawa langganan Azure Anda sendiri. Akun GitHub mencakup penetapan penyimpanan dan jam inti tanpa biaya. Untuk informasi selengkapnya, lihat penyimpanan yang disertakan dan jam inti untuk akun GitHub.
Menginstal CLI penyusun API Data
Microsoft.DataApiBuilder
Instal paket dari NuGet sebagai alat .NET.
Gunakan
dotnet tool install
untuk menginstal versi terbaru denganMicrosoft.DataApiBuilder
--global
argumen .dotnet tool install --global Microsoft.DataApiBuilder
Catatan
Jika paket sudah diinstal, Anda akan memperbarui paket sebagai gantinya menggunakan
dotnet tool update
.dotnet tool update --global Microsoft.DataApiBuilder
Verifikasi bahwa alat diinstal dengan
dotnet tool list
menggunakan--global
argumen .dotnet tool list --global
Mengonfigurasi database lokal
Mulailah dengan mengonfigurasi dan menjalankan database lokal. Kemudian, Anda dapat menyemai kontainer baru dengan data sampel.
Dapatkan salinan
mysql:8
terbaru gambar kontainer dari Docker Hub.docker pull mysql:8
Mulai kontainer docker dengan mengatur kata sandi dan menerbitkan port 3306. Ganti
<your-password>
dengan kata sandi kustom.docker run \ --publish 3306:3306 \ --env "MYSQL_ROOT_PASSWORD=<your-password>" \ --detach \ mysql:8
Sambungkan ke database lokal Anda menggunakan lingkungan manajemen data pilihan Anda. Contohnya termasuk, tetapi tidak terbatas pada: MySQL Workbench, Azure Data Studio, dan shell MySQL untuk Visual Studio Code.
Tip
Jika Anda menggunakan jaringan default untuk gambar kontainer Docker Linux Anda, string koneksi kemungkinan akan menjadi
Server=localhost;Port=3306;Uid=root;Pwd=<your-password>;
. Ganti<your-password>
dengan kata sandi yang Anda tetapkan sebelumnya.Create database baru
bookshelf
dan gunakan database untuk kueri Anda yang tersisa.CREATE DATABASE IF NOT EXISTS bookshelf; USE bookshelf;
Create tabel baru
dbo.authors
dan seed tabel dengan data dasar.CREATE TABLE IF NOT EXISTS authors ( id INT NOT NULL PRIMARY KEY, first_name VARCHAR(100) NOT NULL, middle_name VARCHAR(100), last_name VARCHAR(100) NOT NULL ); INSERT INTO authors VALUES (01, 'Henry', NULL, 'Ross'), (02, 'Jacob', 'A.', 'Hancock'), (03, 'Sydney', NULL, 'Mattos'), (04, 'Jordan', NULL, 'Mitchell'), (05, 'Victoria', NULL, 'Burke'), (06, 'Vance', NULL, 'DeLeon'), (07, 'Reed', NULL, 'Flores'), (08, 'Felix', NULL, 'Henderson'), (09, 'Avery', NULL, 'Howard'), (10, 'Violet', NULL, 'Martinez');
Create file konfigurasi
Create file konfigurasi garis besar menggunakan DAB CLI. Kemudian, tambahkan file konfigurasi pengembangan dengan kredensial Anda saat ini.
Create file konfigurasi umum menggunakan
dab init
.--connection-string
Tambahkan argumen dengan database Anda string koneksi dari bagian pertama. Ganti dengan kata sandi yang Anda tetapkan<your-password>
sebelumnya dalam panduan ini. Selain ituDatabase=bookshelf
, tambahkan nilai ke string koneksi.dab init --database-type "mysql" --host-mode "Development" --connection-string "Server=localhost;Port=3306;Database=bookshelf;Uid=root;Pwd=<your-password>;"
Tambahkan entitas Penulis menggunakan
dab add
.dab add Author --source "authors" --permissions "anonymous:*"
Amati file konfigurasi dab-config.json Anda saat ini. File harus menyertakan implementasi garis besar API Anda dengan satu entitas, titik akhir REST API, dan titik akhir GraphQL.
Uji API dengan database lokal
Sekarang, mulai alat penyusun Api Data untuk memvalidasi bahwa file konfigurasi Anda digabungkan selama pengembangan.
Gunakan
dab start
untuk menjalankan alat dan membuat titik akhir API untuk entitas Anda.dab start
Output alat harus menyertakan alamat yang akan digunakan untuk menavigasi ke API yang sedang berjalan.
Successfully completed runtime initialization. info: Microsoft.Hosting.Lifetime[14] Now listening on: <http://localhost:5000> info: Microsoft.Hosting.Lifetime[0]
Tip
Dalam contoh ini, aplikasi berjalan pada
localhost
port 5000. Aplikasi Anda yang sedang berjalan mungkin memiliki alamat dan port yang berbeda.Pertama, coba API secara manual dengan mengeluarkan permintaan GET ke
/api/Author
.Tip
Dalam contoh ini, URLnya adalah
https://localhost:5000/api/Author
. Anda dapat menavigasi ke URL ini menggunakan browser web Anda.Selanjutnya, navigasikan ke halaman dokumentasi Swagger di
/swagger
.Tip
Dalam contoh ini, URLnya adalah
https://localhost:5000/swagger
. Sekali lagi, Anda dapat menavigasi ke URL ini menggunakan browser web Anda.