RESTful API 实现各种 HTTP 响应状态码的正确姿势

在开发 RESTful API 的过程中,正确处理 HTTP 响应状态码是非常重要的一步。HTTP 响应状态码会告诉客户端请求的成功或失败的状态,并提供进一步的上下文信息。本文将介绍 RESTful API 实现各种 HTTP 响应状态码的正确姿势,包括常见的成功状态码和错误状态码。

成功状态码

200 OK

HTTP 200 OK 状态码表示客户端的请求被成功处理,并且服务器返回了请求的数据。一般情况下,在 API 的 GET 方法中使用 200 OK 状态码是最常见的。以下是使用 Node.js 和 Express 实现 HTTP 200 OK 的示例代码:

--------------------- ----- ---- -- -
  -- -- ----- --
  ----- ----- - -------------

  -- -- --- -- ---- ----- --
  ---------------------------
--

201 Created

HTTP 201 Created 状态码表示客户端的请求已被成功处理,并且服务器创建了一个新的资源。一般情况下,在 API 的 POST 方法中使用 201 Created 状态码是最常见的。以下是使用 Node.js 和 Express 实现 HTTP 201 Created 的示例代码:

---------------------- ----- ---- -- -
  -- ------ ---- --
  ----- ---- - --------------------

  -- -- --- ------- -------- ---- --
  --------------------------
--

204 No Content

HTTP 204 No Content 状态码表示客户端的请求已被成功处理,并且服务器没有任何内容要返回。一般情况下,在 API 的 DELETE 方法中使用 204 No Content 状态码是最常见的,因为在删除资源时,客户端只需要知道服务器已成功删除资源即可。以下是使用 Node.js 和 Express 实现 HTTP 204 No Content 的示例代码:

---------------------------- ----- ---- -- -
  -- ---- -- - ---- --
  -------------------------

  -- -- --- -- ------- ---
  ----------------------
--

错误状态码

400 Bad Request

HTTP 400 Bad Request 状态码表示客户端请求的语法存在问题,并且服务器无法理解请求。一般情况下,当客户端提交的数据格式不正确或者参数缺失时,会返回 400 Bad Request 状态码。以下是使用 Node.js 和 Express 实现 HTTP 400 Bad Request 的示例代码:

---------------------- ----- ---- -- -
  --- -
    -- -- -------- ---------
    --------------------------

    -- ------ ---- --
    ----- ---- - --------------------

    -- -- --- ------- -------- ---- --
    --------------------------
  - ----- ----- -
    -- -- --- --- ------- --------
    ---------------------------------
  -
--

401 Unauthorized

HTTP 401 Unauthorized 状态码表示客户端请求需要认证,但是客户端没有提供认证信息,或者认证信息不正确。一般情况下,当客户端请求需要认证的 API 时,如果客户端没有提供正确的认证信息,则会返回 401 Unauthorized 状态码。以下是使用 Node.js 和 Express 实现 HTTP 401 Unauthorized 的示例代码:

--------------------- ----- ---- -- -
  -- ---------------------------- -
    -- ----------------- --- ------------ ---
    ----------------------------------- ----------
    ------
  -

  -- ------
  -----------------------------------------------

  -- ----
  ----- ----- - -------------
  ---------------------------
--

404 Not Found

HTTP 404 Not Found 状态码表示客户端请求的资源不存在。一般情况下,当客户端请求不存在的资源时,则会返回 404 Not Found 状态码。以下是使用 Node.js 和 Express 实现 HTTP 404 Not Found 的示例代码:

------------------------- ----- ---- -- -
  -- ---- -- - ---- --
  ----- ---- - --------------------------

  -- ------- -
    -- ------ -- - ---- ------ --- --- ----- ---
    -------------------------- --- -------
    ------
  -

  -- ----
  --------------------------
--

500 Internal Server Error

HTTP 500 Internal Server Error 状态码表示服务器发生了意外的错误,请求无法被处理。一般情况下,当服务器处理客户端请求时,发生了意外的错误,则会返回 500 Internal Server Error 状态码。以下是使用 Node.js 和 Express 实现 HTTP 500 Internal Server Error 的示例代码:

--------------------- ----- ---- -- -
  --- -
    -- ---------
    ----- ----- - -----------

    -- ----
    ---------------------------
  - ----- ----- -
    -- -- --- -------- ------ ----- --------
    ---------------------------------
  -
--

结论

本文介绍了 RESTful API 实现各种 HTTP 响应状态码的正确姿势。在开发 RESTful API 的过程中,正确处理 HTTP 响应状态码对于客户端和服务器之间的交互非常重要。同时,我们需要为每个请求确定正确的状态码,以便客户端了解请求的状态,便于客户端做出适当的处理。希望本文可以帮助大家更加准确地处理 HTTP 响应状态码。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/670cb3045f551281025b6c37