c# api写法
- 行业动态
- 2025-02-15
- 2097
csharp,public IActionResult GetData() { return Ok(new { message = "Hello, API!" }); },
“
C# 是一种功能强大的编程语言,常用于开发各种类型的应用程序,包括桌面应用、Web 应用和移动应用等,在 C#中,编写 API(应用程序编程接口)是一项常见的任务,它允许不同的软件组件之间进行交互,以下是关于如何用 C# 编写 API 的详细步骤:
一、准备工作
1、安装开发环境
安装 Visual Studio:Visual Studio 是微软推出的一款强大的集成开发环境(IDE),支持 C# 开发,可以从微软官方网站下载最新版本的 Visual Studio,并按照安装向导进行安装。
安装 .NET SDK:.NET SDK 是开发 .NET 应用程序所需的软件开发工具包,包含了编译器、运行时和其他工具,可以在 [.NET 官方网站](https://dotnet.microsoft.com/download)上下载适合操作系统的 .NET SDK 版本,并完成安装。
2、创建项目
打开 Visual Studio:启动 Visual Studio 后,点击 “创建新项目”。
选择项目模板:在弹出的 “创建新项目” 对话框中,选择 “ASP.NET Core Web API” 项目模板,如果你使用的是较新的 Visual Studio 版本,可能会看到 “Blazor App” 或 “Razor Pages” 等模板,也可以选择这些模板来创建 Web API 项目。
配置项目:输入项目名称、解决方案名称和项目保存位置等信息,然后点击 “下一步”,在 “框架” 选项中,选择适合的 .NET 版本,如 .NET 6 或 .NET 7 等,继续点击 “创建”。
二、定义模型
1、创建模型类
在解决方案资源管理器中,右键点击项目名称,选择 “添加”->“新建项”。
在弹出的 “添加新项” 对话框中,选择 “类” 模板,命名为 “Models”(Product.cs),然后点击 “添加”。
在 Models 类文件中,定义与业务逻辑相关的属性和方法,如果要创建一个产品 API,可以定义一个 Product 类,包含产品 ID、名称、价格等属性:
namespace YourNamespace.Models { public class Product { public int Id { get; set; } public string Name { get; set; } public decimal Price { get; set; } } }
三、创建控制器
1、添加控制器类
再次右键点击项目名称,选择 “添加”->“新建项”。
在 “添加新项” 对话框中,选择 “控制器” 模板,命名为 “ProductsController.cs”,然后点击 “添加”。
在控制器类中,继承自ControllerBase
类,并使用[ApiController]
特性标记该类,使其成为一个 API 控制器。
using Microsoft.AspNetCore.Mvc; using YourNamespace.Models; namespace YourNamespace.Controllers { [ApiController] [Route("api/[controller]")] public class ProductsController : ControllerBase { // 在这里实现控制器的方法 } }
2、实现 CRUD 操作方法
获取所有产品:使用[HttpGet]
特性标记一个方法,该方法将返回所有产品的列表,可以使用内存中的集合或从数据库中获取数据。
[HttpGet] public IEnumerable<Product> GetAllProducts() { var products = new List<Product> { new Product { Id = 1, Name = "Product 1", Price = 10.99m }, new Product { Id = 2, Name = "Product 2", Price = 15.49m } // 添加更多产品 }; return products; }
根据 ID 获取产品:使用[HttpGet]
特性和一个路由参数来标记一个方法,该方法将根据产品 ID 返回特定的产品信息。
[HttpGet("{id}")] public Product GetProductById(int id) { var products = new List<Product> { new Product { Id = 1, Name = "Product 1", Price = 10.99m }, new Product { Id = 2, Name = "Product 2", Price = 15.49m } // 添加更多产品 }; return products.FirstOrDefault(p => p.Id == id); }
创建产品:使用[HttpPost]
特性标记一个方法,该方法将接受一个产品对象作为请求体,并将其添加到数据存储中。
[HttpPost] public Product CreateProduct([FromBody] Product product) { // 在这里将产品添加到数据存储中,例如数据库 return product; }
更新产品:使用[HttpPut]
特性标记一个方法,该方法将接受一个产品对象作为请求体,并根据产品 ID 更新对应的产品信息。
[HttpPut("{id}")] public Product UpdateProduct(int id, [FromBody] Product updatedProduct) { // 在这里更新产品信息,例如在数据库中更新 updatedProduct.Id = id; return updatedProduct; }
删除产品:使用[HttpDelete]
特性标记一个方法,该方法将根据产品 ID 删除对应的产品信息。
[HttpDelete("{id}")] public void DeleteProduct(int id) { // 在这里删除产品,例如从数据库中删除 }
四、配置路由(可选)
1、默认路由配置
在Startup.cs
文件的Configure
方法中,可以使用app.UseEndpoints
方法来配置路由,默认情况下,ASP.NET Core 会自动配置路由,使请求能够正确地路由到相应的控制器和方法。
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); }
2、自定义路由配置
如果需要自定义路由,可以在控制器类中使用[Route]
特性来指定路由模板。
[Route("api/products")] public class ProductsController : ControllerBase { [HttpGet] public IEnumerable<Product> GetAllProducts() { // ... } // 其他方法... }
这样,当客户端发送GET /api/products
请求时,将会调用GetAllProducts
方法,同样地,可以使用[Route("api/products/{id}")]
来为其他方法指定路由。
五、运行和测试 API
1、运行项目
在 Visual Studio 中,按下 “F5” 键或点击工具栏上的 “启动调试” 按钮来运行项目,ASP.NET Core 开发服务器将启动,并在浏览器中打开默认页面,这个页面不会显示太多有用的信息,因为我们主要关注的是 API 端点,可以通过访问https://localhost:<port>/swagger
(其中<port>
是开发服务器分配的端口号)来查看 API 文档和测试 API,Swagger 是一个流行的 API 文档生成工具,它可以自动根据控制器中的注释生成交互式的 API 文档。
2、测试 API
使用 Postman、Insomnia 等 API 测试工具来发送 HTTP 请求到我们的 API 端点,并验证返回的结果是否符合预期,可以发送一个GET /api/products
请求来获取所有产品的列表,或者发送一个POST /api/products
请求来创建一个新产品,在测试过程中,注意检查请求和响应的状态码、头部信息和正文内容是否正确。