在本快速入门中,你将生成一组数据 API 生成器配置文件,以面向本地 SQL 数据库。
先决条件
- Docker
- .NET 8
- 数据管理客户端
- 如果没有安装客户端, 请安装 Azure Data Studio
小窍门
或者,在 GitHub Codespaces 中打开本快速入门,其中包含已安装的所有开发人员先决条件。 只需自带 Azure 订阅即可。 GitHub 帐户包括使用免费的存储和核心小时数的权利。 有关详细信息,请参阅包含的 GitHub 帐户存储和核心小时数。
安装数据 API 生成器 CLI
将 NuGet 中的 Microsoft.DataApiBuilder 包安装为 .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
配置本地数据库
首先配置并运行本地数据库以设置相关凭据。 然后,可以使用示例数据对数据库进行种子设定。
从 Docker Hub 获取
mcr.microsoft.com/mssql/server:2022-latest容器映像的最新副本。docker pull mcr.microsoft.com/mssql/server:2022-latest通过设置密码、接受最终用户许可协议(EULA)和发布端口 1433 来启动 docker 容器。 将
<your-password>替换为自定义密码。docker run \ --env "ACCEPT_EULA=Y" \ --env "MSSQL_SA_PASSWORD=<your-password>" \ --publish 1433:1433 \ --detach \ mcr.microsoft.com/mssql/server:2022-latest使用首选数据管理环境连接到本地数据库。 示例包括但不限于: SQL Server Management Studio 和 Visual Studio Code 的 SQL Server 扩展。
小窍门
如果对 Docker Linux 容器映像使用默认网络,则连接字符串可能是
Server=localhost,1433;User Id=sa;Password=<your-password>;TrustServerCertificate=True;Encrypt=True;。 用您之前设置的密码替换<your-password>。创建新
bookshelf数据库并使用数据库进行剩余查询。DROP DATABASE IF EXISTS bookshelf; GO CREATE DATABASE bookshelf; GO USE bookshelf; GO创建一个新
dbo.authors表,并使用基本数据为表设定种子。DROP TABLE IF EXISTS dbo.authors; GO CREATE TABLE dbo.authors ( id int not null primary key, first_name nvarchar(100) not null, middle_name nvarchar(100) null, last_name nvarchar(100) not null ) GO INSERT INTO dbo.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') GO
创建配置文件
使用 DAB CLI 创建基线配置文件。 再然后,用您的当前凭据来添加开发配置文件。
使用
dab init.. 创建典型配置文件。 将--connection-string参数与第一节中的数据库连接字符串一起添加。 用您在本指南前面设置的密码替换<your-password>。 此外,将Database=bookshelf值添加到连接字符串。dab init --database-type "mssql" --host-mode "Development" --connection-string "Server=localhost,1433;User Id=sa;Database=bookshelf;Password=<your-password>;TrustServerCertificate=True;Encrypt=True;"使用 添加一个
dab add实体。dab add Author --source "dbo.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上运行。 正在运行的应用程序可能有不同的地址和端口。首先,通过向该 API 发出 GET 请求
/api/Author来手动尝试该 API。小窍门
在此示例中,URL 为
https://localhost:5000/api/Author. 可以使用 Web 浏览器导航到此 URL。接下来,导航到 Swagger 文档页面。
/swagger小窍门
在此示例中,URL 为
https://localhost:5000/swagger. 同样,可以使用 Web 浏览器导航到此 URL。