C# Web API 是一种基于 .NET 平台(包括但不限于.NET Framework 和 .NET Core)构建 HTTP 服务的框架,用于创建 RESTful Web 服务。REST(Representational State Transfer)是一种软件架构风格,它利用HTTP协议的特性(如GET、POST、PUT、DELETE等方法)来操作资源。
创建新项目
选择ASP.NET Core Web Api
输入项目名称:自定义名称
- 更换自己的项目位置
选择框架:.NET 8.0(长期支持)
- 其他安照默认配置;
- 建议勾选不使用顶级语句
- 点击创建即可!
运行测试
- 点击运行;自动进入Swagger Api页面
配置Swagger
注释配置
- 在Swager页面显示注释信息
- 为提高代码的可读性,会在类和方法前添加注释
- 方便前端调用调试
/// <summary>/// 天气预报控制器/// </summary>[ApiController][Route("[controller]")]public class WeatherForecastController : ControllerBase{/// <summary>/// 获取天气预报/// </summary>/// <returns></returns>[HttpGet(Name = "GetWeatherForecast")]public IEnumerable<WeatherForecast> Get(){}}
- 找到项目中调用Swagger的位置
- Program.cs启动文件中
public static void Main(string[] args){var builder = WebApplication.CreateBuilder(args);// Add services to the container.builder.Services.AddControllers();// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle#region 配置Swaggerbuilder.Services.AddEndpointsApiExplorer();builder.Services.AddSwaggerGen();#endregionvar app = builder.Build();// Configure the HTTP request pipeline.if (app.Environment.IsDevelopment()){#region 使用Swaggerapp.UseSwagger();app.UseSwaggerUI();#endregion}app.UseHttpsRedirection();app.UseAuthorization();app.MapControllers();app.Run();}
- 读取控制器api生成的xml文件
#region 配置Swaggerbuilder.Services.AddEndpointsApiExplorer();builder.Services.AddSwaggerGen(option =>{// xml文档绝对路径--读取控制器api生成的xml文件var file = Path.Combine(AppContext.BaseDirectory, "Downey.Books.WebApi.xml");// true : 显示控制器层注释option.IncludeXmlComments(file, true);// 对action的名称进行排序option.OrderActionsBy(o => o.RelativePath);});#endregion
- 点击项目 - 属性
- 生成–输出–勾选文档文件
- 生成包含API文档的文件
- 点击运行;如下图配置完成
- Xml文件位置