ASP.NET Core Web API 是基于 .NET 的高性能跨平台框架,用于构建 RESTful 服务,支持标准 HTTP 动词操作资源;通过 CLI 命令可快速创建项目,自动生成示例控制器;定义 ProductsController 实现 CRUD 操作,配合 Product 模型管理数据;集成 Swagger(Swashbuckle)提供可视化文档与测试界面;建议使用 ApiResponse 统一返回格式,提升接口规范性;后续可扩展数据库、认证、日志等机制。

C# 的 ASP.NET Core Web API 是一个用于构建高性能、跨平台 HTTP 服务的框架,特别适合创建 RESTful 风格的 Web API。它运行在 .NET 平台之上,支持 Windows、Linux 和 macOS,适用于微服务、前后端分离架构以及移动端后端等场景。
RESTful 服务基于 HTTP 协议,使用标准动词(如 GET、POST、PUT、DELETE)对资源进行操作。ASP.NET Core 提供了简洁的路由、模型绑定、序列化和中间件机制,让构建 RESTful API 变得高效且直观。
创建 ASP.NET Core Web API 项目
使用 .NET CLI 或 Visual Studio 都可以快速创建 Web API 项目。
打开终端,执行命令创建新项目:
dotnet new webapi -n MyApi进入项目目录:
cd MyApi运行项目:
dotnet run
默认会生成一个 Controllers/WeatherForecastController.cs 示例控制器,可通过 /weatherforecast 路由访问 JSON 数据。
定义 RESTful 控制器和路由
新建一个控制器来管理资源,比如“产品”(Product)。右键添加新类:
[ApiController][Route("api/[controller]")]public class ProductsController : ControllerBase{ private static List _products = new() { new Product { Id = 1, Name = "笔记本电脑", Price = 5999 }, new Product { Id = 2, Name = "鼠标", Price = 99 } };[HttpGet]public IActionResult Get() => Ok(_products);[HttpGet("{id}")]public IActionResult Get(int id){ var product = _products.FirstOrDefault(p => p.Id == id); return product is null ? NotFound() : Ok(product);}[HttpPost]public IActionResult Post([FromBody] Product product){ product.Id = _products.Max(p => p.Id) + 1; _products.Add(product); return CreatedAtAction(nameof(Get), new { id = product.Id }, product);}[HttpPut("{id}")]public IActionResult Put(int id, [FromBody] Product updatedProduct){ var product = _products.FirstOrDefault(p => p.Id == id); if (product is null) return NotFound(); product.Name = updatedProduct.Name; product.Price = updatedProduct.Price; return NoContent();}[HttpDelete("{id}")]public IActionResult Delete(int id){ var product = _products.FirstOrDefault(p => p.Id == id); if (product is null) return NotFound(); _products.Remove(product); return NoContent();}
}
再定义 Product 模型:
public class Product{ public int Id { get; set; } public string Name { get; set; } = string.Empty; public decimal Price { get; set; }}
启用 Swagger 文档(API 测试与展示)
Swagger(通过 OpenAPI)能自动生成 API 文档并提供测试界面。
安装 Swashbuckle 包:
dotnet add package Swashbuckle.AspNetCore在 Program.cs 中添加服务和中间件:
builder.Services.AddEndpointsApiExplorer();builder.Services.AddSwaggerGen();// ... 其他配置
if (app.Environment.IsDevelopment()){app.UseSwagger();app.UseSwaggerUI();}
启动项目后访问 /swagger,即可看到可视化 API 文档。
处理错误与返回标准格式
建议统一响应结构,例如:
public class ApiResponse{ public bool Success { get; set; } public T? Data { get; set; } public string? Message { get; set; }}
在控制器中使用:
[HttpGet]public IActionResult Get(){ return Ok(new ApiResponse<List> { Success = true, Data = _products });}
基本上就这些。你现在已经掌握了用 C# 和 ASP.NET Core 构建 RESTful Web API 的核心流程:创建项目、定义模型、编写控制器、配置路由与文档,并返回结构化数据。后续可扩展数据库(如 Entity Framework Core)、身份认证(JWT)、日志、验证等功能。
以上就是C#的ASP.NET Core Web API是什么?如何构建RESTful服务?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1441747.html
微信扫一扫
支付宝扫一扫