什么是 RESTful API
REST API
定义如下:一种应用程序编程接口(API 或 Web API),遵循一组关于应用程序如何使用 HTTP 方法相互通信的架构规则。RESTful Web 服务使用 REST API 协议,因此有时也称为 RESTful API。
REST 通常用于构建 Web API,允许客户端与服务器之间通过 HTTP 协议进行交互。
REST 是由 Roy Fielding 在 2000 年提出的一种架构风格。它并不是一种协议或标准,而是一组指导原则,旨在帮助开发人员创建可扩展、性能良好且易于维护的 Web 服务。REST 的核心思想是通过一组简单、统一的接口来管理和操作服务器上的资源。
资源 Resources
在 REST 中,资源
是一个非常重要的概念。资源可以被视为 Web 服务中的实体或对象,它可以是用户、订单、文件
等任何具有唯一标识符的事物。每个资源都由一个 **URI(Uniform Resource Identifier,统一资源标识符)**标识。
资源的表示(Representations)
资源可以有多种不同的表示形式,例如 JSON、XML、HTML
等。当客户端请求资源时,服务器会以特定的表示形式返回资源。表示形式通常通过 HTTP 头中的 Content-Type
指定,例如 application/json
表示 JSON 格式。
URI(统一资源标识符)
要让一个资源可以被识别,需要有个唯一标识,在Web中这个唯一标识就是URI(Uniform Resource Identifier),URI既可以看成是资源的地址,也可以看成是资源的名称,如果某些信息没有使用URI来表示,那它就不能算是一个资源, 只能算是资源的一些信息而已,URI的设计应该遵循可寻址性原则,具有自描述性,需要在形式上给人以直觉上的关联。
通过上述描述,我们知道URI 是用于标识资源的唯一地址,每个资源都应该有一个唯一的 URI,这个 URI 可以看作是资源的“地址“。
api/user/profile/get
:表示获取用户个人资料。api/user/profile/add
:表示添加用户个人资料。api/user/profile/update
:表示更新用户个人资料。api/user/profile/delete
:表示删除用户个人资料。
URI 应该是稳定的,不应该因为资源内部状态的变化而发生变化。此外,URI 应该是自解释的,这意味着我们可以从 URI 中大致了解所表示的资源。
HTTP 方法
在 REST 中,HTTP 方法
用于指定对资源执行的操作。常用的 HTTP 方法包括:
- GET:检索资源。请求不会改变服务器状态。
- POST:创建资源或在现有资源中执行子资源的创建操作。
- PUT:更新资源。通常用于更新整个资源。
- PATCH:部分更新资源。通常用于更新资源的部分字段。
- DELETE:删除资源。
每种方法都应该在其相应的上下文中使用。例如:
GET api/user/profile/get
应该用于检索用户的个人资料;DELETE api/user/profile/delete
应该用于删除用户的个人资料;POST api/user/profile/add
应该用于添加用户的个人资料;PUT api/user/profile/update
应该用于更新用户的个人资料。