0. 项目结构
在创建ASP.NET Core Web API项目后,项目的基本结构如下:
MyWebApiProject
│ Controllers
│ └── WeatherForecastController.cs
│ Program.cs
│ WeatherForecast.cs
│ appsettings.json
│ ...
1. Program.cs
这个文件是应用程序的入口点,负责配置和启动Web服务器。
var builder = WebApplication.CreateBuilder(args);
-
WebApplication.CreateBuilder(args)
:创建一个Web应用程序构建器。 -
args
:命令行参数。builder.Services.AddControllers();
-
builder.Services
:表示依赖注入容器。 -
AddControllers
:向依赖注入容器添加控制器服务。builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(); -
AddEndpointsApiExplorer
:用于API文档生成。 -
AddSwaggerGen
:添加Swagger生成器,生成API文档。var app = builder.Build();
-
builder.Build()
:构建Web应用程序。if (app.Environment.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseSwagger();
app.UseSwaggerUI();
} -
app.Environment.IsDevelopment()
:检查当前环境是否是开发环境。 -
UseDeveloperExceptionPage
:在开发环境中使用开发者异常页面。 -
UseSwagger
和UseSwaggerUI
:启用Swagger中间件,提供API文档UI。app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
app.Run(); -
UseHttpsRedirection
:强制使用HTTPS。 -
UseAuthorization
:启用授权中间件。 -
MapControllers
:将控制器映射到路由。 -
app.Run()
:运行Web应用程序。
2. WeatherForecast.cs
这个文件定义了天气预报的数据模型。
public class WeatherForecast
{
public DateTime Date { get; set; }
public int TemperatureC { get; set; }
public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
public string? Summary { get; set;