用ASP.NET Core创建一个最小的Web API,并通过Visual Studio发布到Azure API管理部门
跟随本教程学习如何用.NET CLI和Visual Studio 2022创建一个最小的Web API,并将其发布到Azure Web App和API管理
Minimal Web API是一种构建API的新方法,没有MVC的所有复杂结构,因此,按照 "minimal "这个名字,它包括了构建HTTP API所需的基本组件。你所需要的仅仅是一个CSPROJ和一个Program.cs。
使用Minimal Web API的好处
- 比以前更不复杂
- 易于学习和使用
- 不需要MVC结构:没有控制器!
- 构建和编译应用程序的代码最少,这意味着应用程序的运行速度更快(性能更好)
- .NET 6和C#10的最新改进和功能
先决条件
- .NET 6 SDK
- Visual Studio 2022或Visual Studio Code(我们将同时使用它们)
我们将使用两种方法来创建我们的Minimal Web API。
方法1:使用.NET CLI
1.我们将打开PowerShell并检查下面的.NET版本:
dotnet --version
结果应该是6,在我们的例子中,我们有6.0.101。
2.我们将创建我们的应用程序:
dotnet new webapi -minimal -o sampleAPI
3. 在Visual Studio Code上打开创建的文件夹。我们将看到文件结构。文件夹内容比之前的Web APIs项目要小:没有更多的启动类或控制器文件夹。我们所拥有的只是一个Program.cs。
4. 在我们的终端内构建并运行该解决方案。如果你没有一个终端,请打开一个新的终端。要做到这一点,点击终端菜单,然后选择新终端选项,如下图所示:
使用Visual Studio代码终端构建ASP.NET Core Web API项目
使用.NET Core CLI运行ASP.NET Core Web API项目
正如你在下一张图片中所看到的,我们的Web API应用程序正在两个不同的端口上运行。它们如下:https://localhost:7025 和 http://localhost:5272。但是,如果我们跟踪这个链接,我们会得到一个404错误,因为我们必须在链接中添加Swagger。
方法2:使用Visual Studio
1.我们将打开Visual Studio 2022,并点击 "创建一个新项目":
Visual Studio 2022
2.你可以在窗口顶部用 "API "作为关键词搜索模板,如下图所示,选择C#作为语言,可以更容易找到Web API的模板:
ASP.NET Core Web API模板
3.现在是时候配置我们的项目了。我们必须添加项目名称和位置,并且可以修改解决方案的名称:
4.在下一个窗口中,我们有额外的信息。选择新的框架(在我们的例子中是.NET 6)和认证类型(如果需要)。我们将保留 "无"。如果我们想给我们的网络应用添加安全性,我们可以配置HTTPs。如果我们启用Docker来使用容器,我们将选择Docker操作系统(Linux或Windows)。在我们的案例中,我们将不启用Docker,我们需要取消勾选 "使用控制器"。为了使用最小的API,我们可以启用OpenAPI支持来使用Swagger。我将禁用它:
最低限度的API
5.让我们检查一下项目结构:
6.现在让我们打开Program.cs并清除其中的所有内容,这样我们就可以用不到4行的代码建立一个非常简单的API了
7.让我们运行我们的样本。
让我们把这个项目与另一个使用控制器的项目进行比较!
项目结构
程序.cs
正如你所看到的,Minimal APIs的代码更少,更简单!
用Visual Studio向Azure API管理发布Minimal APIs
1.打开Azure门户,创建一个新的API管理。填写创建API管理所需的所有信息。
Azure门户中的API管理
2.我们回到Visual Studio 2022,发布我们的Web API应用。在我们的解决方案资源管理器上给出一个右键单击。右键点击项目后,选择 "发布:"
3.我们将首先把API应用发布到Azure App Service:
-
我们将在发布窗口中选择 "Azure",然后点击 "Next "按钮。
-
我们将选择 "Azure App Service(Linux)",然后点击 "下一步 "按钮。
-
我们将点击**"+"**按钮来创建一个新的Azure应用服务,或者你可以选择一个现有的Azure应用服务,如果你之前已经在Azure Portal或使用Azure CLI创建了它。比如说。
-
当出现创建应用服务对话框时,我们将填写创建新的应用服务所需的所有信息,如应用名称、资源组和应用服务计划条目字段。你可以保留这些名称,也可以改变它们。
-
我们将点击 "完成",创建完成后,我们将点击 "发布"。
如果你没有任何已经创建的API管理,跳过下一步,点击 "完成 "来发布应用程序。
4.我们将把我们的API添加到Azure API管理中。
-
让我们打开之前创建的API管理服务实例,点击窗口左边的 "API"。
-
我们将删除Echo API,并添加一个新的API。
-
在出现的 "创建HTTP API "对话框中输入以下值:
- 显示名称。WeatherForecasts
- 名称:weatherforecasts
- API Url后缀:v1
- 把网络服务URL字段留空。
这将导致我们的API没有任何操作,因为我们必须将之前的API发布到Azure API管理中。
5.将我们之前的网络API发布到Azure API管理中。
-
我们切换回Visual Studio的 "发布 "窗口,我们将选择之前发布的Azure应用服务。
-
我们再切换回API管理,检查我们的API。
API ASP.NETASP.NET Core Visual Studio Code Web API app azure .NET