Краткое руководство. Использование построителя API данных с PostgreSQL
В этом кратком руководстве вы создадите набор файлов конфигурации построителя API данных для локальной базы данных PostgreSQL.
Предварительные требования
- Docker
- .NET 8
- Клиент управления данными
- Если у вас не установлен клиент, установите Azure Data Studio.
Совет
Кроме того, откройте это краткое руководство в GitHub Codespaces со всеми уже установленными предварительными условиями для разработчиков. Просто используйте собственную подписку Azure. Учетные записи GitHub включают в себя право на хранение и базовые часы бесплатно. Дополнительные сведения см. в разделе Включенные часы хранения и основные часы для учетных записей GitHub.
Установка интерфейса командной строки построителя API данных
Microsoft.DataApiBuilder
Установите пакет из NuGet в качестве средства .NET.
Используйте
dotnet tool install
для установки последнейMicrosoft.DataApiBuilder
версии с аргументом--global
.dotnet tool install --global Microsoft.DataApiBuilder
Примечание
Если пакет уже установлен, обновите его с помощью
dotnet tool update
.dotnet tool update --global Microsoft.DataApiBuilder
Убедитесь, что средство установлено с
dotnet tool list
помощью аргумента--global
.dotnet tool list --global
Настройка локальной базы данных
Начните с настройки и запуска локальной базы данных. Затем можно заполнить новый контейнер примерами данных.
Получите последнюю копию
postgres:16
образа контейнера из Docker Hub.docker pull postgres:16
Запустите контейнер Docker, задав пароль и порт публикации 5432. Замените
<your-password>
пользовательским паролем.docker run \ --publish 5432:5432 \ --env "POSTGRES_PASSWORD=<your-password>" \ --detach \ postgres:16
Подключитесь к локальной базе данных с помощью предпочитаемой среды управления данными. Примеры: pgAdmin, Azure Data Studio и расширение PostgreSQL для Visual Studio Code.
Совет
Если вы используете сеть по умолчанию для образов контейнеров Docker Linux, строка подключения, скорее всего, будет
Host=localhost;Port=5432;User ID=postgres;Password=<your-password>;
. Замените<your-password>
паролем, заданным ранее.Создайте новую базу данных
bookshelf
.DROP DATABASE IF EXISTS bookshelf; CREATE DATABASE bookshelf;
Create новую
dbo.authors
таблицу и заполнить ее базовыми данными.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
Create файл базовой конфигурации с помощью ИНТЕРФЕЙСА командной строки DAB. Затем добавьте файл конфигурации разработки с текущими учетными данными.
Create типичный файл конфигурации с помощью
dab init
.--connection-string
Добавьте аргумент с строка подключения базы данных из первого раздела. Замените<your-password>
паролем, заданным ранее в этом руководстве. Кроме того, добавьтеDatabase=bookshelf
значение в строка подключения.dab init --database-type "postgresql" --host-mode "Development" --connection-string "Host=localhost;Port=5432;Database=bookshelf;User ID=postgres;Password=<your-password>;"
Добавьте сущность Author с помощью
dab add
.dab add Author --source "public.authors" --permissions "anonymous:*"
Тестирование API с локальной базой данных
Теперь запустите построитель API данных, чтобы убедиться, что файлы конфигурации объединены во время разработки.
Используйте
dab start
для запуска средства и создания конечных точек API для сущности.dab start
Выходные данные средства должны содержать адрес, используемый для перехода к работающему API.
Successfully completed runtime initialization. info: Microsoft.Hosting.Lifetime[14] Now listening on: <http://localhost:5000> info: Microsoft.Hosting.Lifetime[0]
Совет
В этом примере приложение выполняется
localhost
на порту 5000. У работающего приложения может быть другой адрес и порт.Сначала попробуйте использовать API вручную, отправив запрос GET в
/api/Author
.Совет
В этом примере URL-адрес будет иметь значение
https://localhost:5000/api/Author
. Вы можете перейти по этому URL-адресу в веб-браузере.Затем перейдите на страницу документации Swagger по адресу
/swagger
.Совет
В этом примере URL-адрес будет иметь значение
https://localhost:5000/swagger
. Опять же, вы можете перейти по этому URL-адресу в веб-браузере.