创建 ASP.NET Core Web API 项目

创建并浏览 Web API 项目

此模块使用 .NET 6.0 SDK。 通过在首选终端中运行以下命令,确保你已安装 .NET 6.0:

dotnet --list-sdks

将显示类似于下面的输出:

3.1.100 [C:\program files\dotnet\sdk]
5.0.100 [C:\program files\dotnet\sdk]
6.0.100 [C:\program files\dotnet\sdk]

为了设置 .NET 项目以与 Web API 配合工作,我们将使用 Visual Studio Code。 Visual Studio Code 包含一个集成终端,这使创建新项目变得很简单。 如果你不想使用代码编辑器,可在终端中运行本模块中的命令。

在 Visual Studio Code 中,选择“文件”>“打开文件夹”。

在所选位置创建名为 ContosoPizza 的新文件夹,然后单击“选择文件夹”。

从主菜单中选择“视图”>“终端”,以便从 Visual Studio Code 中打开集成终端。

在终端窗口中,复制粘贴以下命令:

dotnet new webapi -f net6.0

此命令将创建使用控制器的基本 Web API 项目的文件,以及一个名为 ContosoPizza.csproj 的 C# 项目文件,该文件将返回天气预报列表。 如果遇到错误,请确保已安装 .NET 6 SDK。

重要

默认使用 https 保护 Web API 项目。 如果遇到问题,请配置 ASP.NET Core HTTPS 开发证书。

Visual Studio Code 可能会提示你添加资产以调试项目。 在对话框中,选择“是”。

此命令使用别名为 webapi 的 ASP.NET Core 项目模板来创建基于 C# 的 Web API 项目的基架。 将创建一个 ContosoPizza 目录。 此目录包含在 .NET 上运行的 ASP.NET Core 项目。 项目名称与 ContosoPizza 目录名称匹配。

你现在应可以访问以下文件:

复制
-| Controllers
-| obj
-| Properties
-| appsettings.Development.json
-| appsettings.json
-| ContosoPizza.csproj
-| Program.cs
-| WeatherForecast.cs

检查以下文件和目录:

名称 说明
Controllers/ 包含公共方法公开为 HTTP 终结点的类
Program.cs 配置服务和应用的 HTTP 请求管道,并包含应用的托管入口点
ContosoPizza.csproj 包含项目的配置元数据

生成并测试 Web API

在命令行界面中运行以下 .NET Core CLI 命令:

dotnet run

上述命令:

在当前目录中找到项目文件。
检索并安装此项目所需的任何项目依赖项。
编译项目代码。
使用 ASP.NET Core Kestrel Web 服务器将 Web API 托管在 HTTP 和 HTTPS 终结点中。
创建项目时,将为 HTTP 选择 5000 到 5300 端口,为 HTTPS 选择 7000 到 7300 端口。 通过编辑项目的 launchSettings.json 文件,可以轻松更改开发过程中使用的端口。 本模块使用以 https 开头的安全 localhost URL。

最后会看到类似以下内容的输出,表明应用正在运行:

Building...
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: https://localhost:7294
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://localhost:5118 
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development

如果你是在自己的计算机上运行此应用,可以将浏览器指向输出中显示的 HTTPS 链接(在上例中为 https://localhost:7294)以查看生成的页面。 请记住此端口,因为你在使用 {PORT} 的模块中将一直使用它。

重要:
如果遇到任何意外行为,请查看终端输出。 如果生成失败或发生其他错误,请根据日志文件中的信息进行故障排除。 对代码进行更改时,需要通过选择键盘上的 CTRL+C 并重新运行 dotnet run 命令来停止 Web API。

打开 Web 浏览器并转到:

https://https://localhost:7294/weatherforecast

以下输出显示了返回的 JSON 的摘录:

[{
	"date": "2022-04-26T16:49:42.579788+08:00",
	"temperatureC": 28,
	"temperatureF": 82,
	"summary": "Cool"
}, {
	"date": "2022-04-27T16:49:42.5807601+08:00",
	"temperatureC": -2,
	"temperatureF": 29,
	"summary": "Hot"
}, {
	"date": "2022-04-28T16:49:42.5807669+08:00",
	"temperatureC": 46,
	"temperatureF": 114,
	"summary": "Sweltering"
}, {
	"date": "2022-04-29T16:49:42.5807678+08:00",
	"temperatureC": 30,
	"temperatureF": 85,
	"summary": "Freezing"
}, {
	"date": "2022-04-30T16:49:42.580768+08:00",
	"temperatureC": 17,
	"temperatureF": 62,
	"summary": "Mild"
}]

通过从主菜单中选择“终端”>“新终端”,从 Visual Studio Code 中打开新的集成终端。 然后,运行以下命令:

dotnet tool install -g Microsoft.dotnet-httprepl

前面的命令将安装 .NET HTTP REPL 命令行工具,你将使用它向 Web API 发出 HTTP 请求。

通过运行以下命令连接到 Web API:

httprepl https://localhost:{PORT}

或者,在 HttpRepl 运行时随时运行以下命令:

(Disconnected)> connect https://localhost:{PORT}

通过运行以下命令浏览可用的终结点:

ls

前面的命令将检测连接的终结点上所有可用的 API。 此命令应该显示以下输出:

https://localhost:7247/> ls
.                 []
WeatherForecast   [GET]

使用以下命令在 HttpRepl 中发出 GET 请求:

get

前面的命令发出的 GET 请求类似于转到浏览器中的终结点:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 02 Apr 2021 17:31:43 GMT
Server: Kestrel
Transfer-Encoding: chunked
[
  {
    "date": 4/3/2021 10:31:44 AM,
    "temperatureC": 13,
    "temperatureF": 55,
    "summary": "Sweltering"
  },
  {
    "date": 4/4/2021 10:31:44 AM,
    "temperatureC": -13,
    "temperatureF": 9,
    "summary": "Warm"
  },
  // ..
]

使用以下命令结束当前的 HttpRepl 会话:

exit

在 Visual Studio Code 中返回到下拉列表中的 dotnet 终端。 通过选择键盘上的 CTRL+C 关闭 Web API。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值