Mulai cepat: Menggunakan penyusun API Data dengan PostgreSQL
Dalam Mulai Cepat ini, Anda membuat sekumpulan file konfigurasi penyusun Api Data untuk menargetkan database PostgreSQL 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 hak 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 terbaru gambar
postgres:16
kontainer dari Docker Hub.docker pull postgres:16
Mulai kontainer docker dengan mengatur kata sandi dan menerbitkan port 5432. Ganti
<your-password>
dengan kata sandi kustom.docker run \ --publish 5432:5432 \ --env "POSTGRES_PASSWORD=<your-password>" \ --detach \ postgres:16
Sambungkan ke database lokal Anda menggunakan lingkungan manajemen data pilihan Anda. Contohnya termasuk, tetapi tidak terbatas pada: pgAdmin, Azure Data Studio, dan ekstensi PostgreSQL untuk Visual Studio Code.
Tip
Jika Anda menggunakan jaringan default untuk gambar kontainer Docker Linux Anda, string koneksi kemungkinan akan menjadi
Host=localhost;Port=5432;User ID=postgres;Password=<your-password>;
. Ganti<your-password>
dengan kata sandi yang Anda tetapkan sebelumnya.Buat database
bookshelf
baru.DROP DATABASE IF EXISTS bookshelf; CREATE DATABASE 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 dasar 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 string koneksi database Anda 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 "postgresql" --host-mode "Development" --connection-string "Host=localhost;Port=5432;Database=bookshelf;User ID=postgres;Password=<your-password>;"
Tambahkan entitas Penulis menggunakan
dab add
.dab add Author --source "public.authors" --permissions "anonymous:*"
Menguji 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 di
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, URL akan menjadi
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, URL akan menjadi
https://localhost:5000/swagger
. Sekali lagi, Anda dapat menavigasi ke URL ini menggunakan browser web Anda.