在开发 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