📜  如何在 C# 中为 API 编写 Web 服务(1)

📅  最后修改于: 2023-12-03 15:24:07.672000             🧑  作者: Mango

如何在 C# 中为 API 编写 Web 服务

简介

在 C# 中,我们可以使用 ASP.NET Core 来构建 Web 服务。ASP.NET Core 是一个开源、跨平台的高性能框架,可以帮助我们快速地搭建 Web 服务器,并提供灵活、高效的路由和中间件支持。

本文将介绍如何使用 ASP.NET Core 在 C# 中为 API 编写 Web 服务。

前置条件

为了按照本文的指引编写 Web 服务,你需要安装以下工具:

第一步:创建 ASP.NET Core 项目

首先,打开 Visual Studio Code 或者 Visual Studio,创建一个新的 ASP.NET Core 项目。

选择“ASP.NET Core Web 应用程序”模板,并选择“API”作为项目类型。

选择“空”作为初始模板,然后点击“创建”按钮。

第二步:添加路由和控制器

在 ASP.NET Core 中,我们可以使用路由来将请求映射到相应的控制器和操作方法上。

打开 Startup.cs 文件,找到 Configure 方法,在其中添加以下代码:

app.UseRouting();

app.UseEndpoints(endpoints =>
{
    endpoints.MapControllers();
});

这些代码将启用路由,并配置路由以匹配控制器。

现在我们需要添加一个控制器以处理 API 请求。在项目中创建一个新文件夹,名为 Controllers,然后在该文件夹中添加一个新的 C# 类文件,名为 TodoController.cs

TodoController.cs 中添加以下代码:

using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;

[ApiController]
[Route("[controller]")]
public class TodoController : ControllerBase
{
    private static readonly List<string> _todoItems = new List<string>();

    [HttpGet]
    public IEnumerable<string> Get()
    {
        return _todoItems.ToArray();
    }

    [HttpPost("{item}")]
    public void Post(string item)
    {
        _todoItems.Add(item);
    }
}

这个控制器包含两个操作方法:一个用于获取所有的 TODO 事项,另一个用于添加新的 TODO 事项。

第三步:启动 Web 服务

现在我们已经编写了控制器,可以启动 Web 服务了。

在 Visual Studio Code 中,打开控制台,运行以下命令:

dotnet run

在 Visual Studio 中,直接按下 F5 键即可启动程序。

在浏览器中访问 http://localhost:5000/Todo,应该能看到一个空的 JSON 数组。

使用 POST 请求添加一些新的 TODO 事项:

$ curl -X POST http://localhost:5000/Todo/Item1
$ curl -X POST http://localhost:5000/Todo/Item2
$ curl -X POST http://localhost:5000/Todo/Item3

现在再次访问 http://localhost:5000/Todo,应该能看到包含这些 TODO 事项的 JSON 数组了。

总结

在本文中,我们介绍了如何使用 ASP.NET Core 在 C# 中编写 Web 服务。我们通过创建一个控制器,并使用路由将请求映射到该控制器上来处理 API 请求。

ASP.NET Core 还提供了许多其他的功能和中间件,例如身份验证、授权、ORM 等。如果想要深入了解 ASP.NET Core,请访问官方文档。