什么是 RESTful API?
RESTful API 是一种基于 HTTP 协议的 Web 服务架构风格,它以传输资源的形式为客户端和服务器端之间的通信提供了一种简单的方式。REST(Representational State Transfer)的本质就是资源的表现层状态转换,也就是使用统一的接口(资源状态的 HTTP 方法)来管理资源的情况。
RESTful API 需要遵循以下几个原则:
每个资源都有唯一的一个 URI 作为标识符。
资源的操作采用 HTTP 动词来定义,如 GET、POST、PUT、DELETE 等。
所有的请求和响应都是无状态的。
API 的返回结果应该采用标准数据格式,如 JSON。
在.NET Core 中使用 RESTful API
在.NET Core 中,我们可以使用 ASP.NET Core 和 Web API 特性建立一个 RESTful API。ASP.NET Core 是一个跨平台的 Web 开发框架,支持运行在 Windows、Linux 和 MacOS 上,而 Web API 则是 ASP.NET Core 中专门用来实现 Web 服务接口的一系列工具和特性。
以下是使用 ASP.NET Core 和 Web API 搭建 RESTful API 的步骤。
步骤 1:创建项目
首先,我们需要创建一个 ASP.NET Core 的 Web 应用程序:
dotnet new webapi -o myWebAPI
步骤 2:添加模型类
我们需要定义一个模型类,这个模型类将会映射我们从 RESTful API 返回的数据。
public class TodoItem { public long Id { get; set; } public string Name { get; set; } public bool IsComplete { get; set; } }
步骤 3:添加控制器
接下来,我们需要添加一个控制器来处理请求和响应。控制器是 Web API 中的核心组件,负责向客户端返回数据。
// javascriptcn.com 代码示例 [ApiController] [Route("api/[controller]")] public class TodoController : ControllerBase { private readonly List<TodoItem> todoItems = new List<TodoItem>(); // GET: api/Todo [HttpGet] public IEnumerable<TodoItem> Get() { return todoItems; } // GET: api/Todo/5 [HttpGet("{id}")] public TodoItem Get(long id) { return todoItems.FirstOrDefault(x => x.Id == id); } // POST: api/Todo [HttpPost] public void Post([FromBody] TodoItem value) { todoItems.Add(value); } // PUT: api/Todo/5 [HttpPut("{id}")] public void Put(long id, [FromBody] TodoItem value) { var todo = todoItems.FirstOrDefault(x => x.Id == id); todo.Name = value.Name; todo.IsComplete = value.IsComplete; } // DELETE: api/Todo/5 [HttpDelete("{id}")] public void Delete(long id) { var todo = todoItems.FirstOrDefault(x => x.Id == id); todoItems.Remove(todo); } }
步骤 4:启动服务
最后,我们需要启动服务来运行我们的应用程序并测试 RESTful API。
dotnet run
现在,我们可以在浏览器中访问 http://localhost:5000/api/todo
,就可以看到获取全部 Todo Items 的数据了。你也可以使用 Postman 工具来测试其余的请求。
总结
在本文中,我们了解了 RESTful API 的概念和原则,介绍了如何在.NET Core 中使用 ASP.NET Core 和 Web API 特性来构建一个 RESTful API。我们创建了一个 TodoItem 模型类和控制器,然后启动服务并测试 RESTful API,并理解了每个请求的含义和响应数据的格式。希望这篇文章能够对你在.NET Core 中使用 RESTful API 有所帮助。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65855283d2f5e1655dffaa44