VS2022 ASP.NET core Web API 示例代码解释

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:在开发环境中使用开发者异常页面。

  • UseSwaggerUseSwaggerUI:启用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;

你可能感兴趣的:(asp.net,前端,后端)