用ASP.NET Core创建一个最小的Web API并通过Visual Studio发布到Azure API管理部门

109 阅读5分钟

用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:7025http://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