RESTful API 是一种基于 HTTP 协议的 API 设计风格,它将资源作为一种统一的抽象概念来处理,并通过 HTTP 方法来对资源进行操作。在 RESTful API 中,请求和响应都是非常重要的组成部分,本文将详细介绍 RESTful API 中的请求和响应。
请求
在 RESTful API 中,请求通常包含以下几个部分:
URL
RESTful API 的 URL 通常由资源的唯一标识符和操作组成。例如,获取某个用户的信息可以使用如下的 URL:
GET /users/{id}其中 {id} 是用户的唯一标识符。
HTTP 方法
HTTP 方法用于指定对资源的操作类型。常见的 HTTP 方法包括 GET、POST、PUT、PATCH 和 DELETE。例如,上面的 URL 中使用的是 GET 方法,表示获取用户信息。
请求头
请求头用于传递一些额外的信息,例如认证信息、内容类型等。例如,下面是一个带有认证信息的请求头:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
请求体
请求体用于传递一些数据,例如表单数据、JSON 数据等。例如,下面是一个带有 JSON 数据的请求体:
{
"name": "John Doe",
"email": "johndoe@example.com"
}响应
在 RESTful API 中,响应通常包含以下几个部分:
状态码
HTTP 状态码用于表示请求的处理结果。常见的状态码包括 200、201、400、401、404 等。例如,当成功获取用户信息时,会返回 200 状态码:
HTTP/1.1 200 OK
响应头
响应头用于传递一些额外的信息,例如内容类型、缓存控制等。例如,下面是一个带有 JSON 内容类型的响应头:
Content-Type: application/json
响应体
响应体用于传递一些数据,例如 JSON 数据、HTML 数据等。例如,下面是一个返回 JSON 数据的响应体:
{
"name": "John Doe",
"email": "johndoe@example.com"
}示例代码
下面是一个使用 Node.js 和 Express 框架实现的 RESTful API 示例代码,它包含了 GET、POST、PUT 和 DELETE 方法的实现:
-- -------------------- ---- -------
----- ------- - -------------------
----- ---------- - -----------------------
----- --- - ----------
---------------------------
--- ----- - -
- --- -- ----- -------- ------ ------------------- --
- --- -- ----- ------ ------ ----------------- --
- --- -- ----- ---------- ------ --------------------- -
--
-- ------
----------------- ----- ---- -- -
----------------
---
-- ------
--------------------- ----- ---- -- -
----- -- - ------------------------
----- ---- - --------------- -- ------- --- ----
-- ------- -
---------------------- ------ ----- --- ------ ---
- ---- -
---------------
-
---
-- ----
------------------ ----- ---- -- -
----- - ----- ----- - - ---------
----- -- - ------------ - --
------------ --- ----- ----- ---
---------------------- --- ----- ----- ---
---
-- ----
--------------------- ----- ---- -- -
----- -- - ------------------------
----- - ----- ----- - - ---------
----- ---- - --------------- -- ------- --- ----
-- ------- -
---------------------- ------ ----- --- ------ ---
- ---- -
--------- - -----
---------- - ------
---------------
-
---
-- ----
------------------------ ----- ---- -- -
----- -- - ------------------------
----- ----- - -------------------- -- ------- --- ----
-- ------ --- --- -
---------------------- ------ ----- --- ------ ---
- ---- -
------------------- ---
-----------------------
-
---
---------------- -- -- -
------------------- -- ------- -- ---- -------
---以上代码实现了一个简单的用户管理 API,通过 HTTP 方法和 URL 来对用户资源进行操作。
Source: FunTeaLearn,Please indicate the source for reprints https://funteas.com/post/67d28df5a941bf71344d5dab