C#如何创建REST API C#使用ASP.NET Core构建Web API入门指南

来源:这里教程网 时间:2026-02-21 17:30:42 作者:

要用C#创建REST API,最推荐的方式是使用ASP.NET Core。它是一个跨平台、高性能的框架,专为构建现代Web API而设计。下面是一份简明实用的入门指南,帮助你快速搭建一个基础的REST API。

创建ASP.NET Core Web API项目

打开命令行工具或Visual Studio,运行以下命令创建一个新的Web API项目:

dotnet new webapi -n MyFirstApi cd MyFirstApi dotnet run

执行后,项目会启动,默认在

https://localhost:5001
提供服务,并包含一个自动生成的
WeatherForecast
示例API。

理解控制器与路由

ASP.NET Core使用控制器来处理HTTP请求。每个控制器是一个继承自

 ControllerBase 
的类,通常放在
Controllers
文件夹中。

例如,创建一个管理“产品”的API:

// Controllers/ProductsController.cs using Microsoft.AspNetCore.Mvc;

[ApiController]
[Route("api/[controller]")]
public class ProductsController : ControllerBase
{
private static List products = new() { "苹果", "香蕉" };

[HttpGet]  
public IActionResult Get() => Ok(products);  
[HttpGet("{id}")]  
public IActionResult GetById(int id)  
{  
    if (id >= products.Count || id < 0) return NotFound();  
    return Ok(products[id]);  
}  
[HttpPost]  
public IActionResult Add([FromBody] string name)  
{  
    products.Add(name);  
    return CreatedAtAction(nameof(GetById), new { id = products.Count - 1 }, name);  
}  

}

[ApiController]启用自动模型验证和JSON绑定。
[Route]定义基础路径,[controller]会被控制器名称代替(如Products → /api/products)。

测试你的API

启动项目后,可通过以下方式测试:

GET /api/products:获取所有产品列表 GET /api/products/0:获取第一个产品 POST /api/products:请求体传入字符串,添加新产品

建议使用Postman、curl或浏览器开发者工具发送请求。确保POST请求的Content-Type为

application/json
,例如:

curl -X POST https://localhost:5001/api/products \ -H "Content-Type: application/json" \ -d "\"橙子\""

启用Swagger文档(推荐)

Swagger(在ASP.NET Core中称为OpenAPI)能自动生成API文档并提供测试界面。

安装Swashbuckle:

dotnet add package Swashbuckle.AspNetCore

Program.cs
中添加服务和中间件:

builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen();

然后在

app.Run()
前加入:

app.UseSwagger(); app.UseSwaggerUI();

重启后访问

https://localhost:5001/swagger
即可看到交互式文档页面。

基本上就这些。掌握这些基础后,你可以逐步添加数据库支持(如Entity Framework Core)、身份验证、日志记录等功能。ASP.NET Core结构清晰,扩展性强,非常适合构建稳定高效的REST API。不复杂但容易忽略细节,比如路由匹配、状态码返回和异常处理,建议多写几个小接口练手。

相关推荐