为什么发送API状态代码?

use*_*od2 4 api-design http http-status-codes node.js

我正在使用node.js构建我的第一个API,并且想知道我是否需要确保每个响应都发送状态代码,或者只是使用布尔值就可以了.

对安全性或其他事情至关重要吗?

所以代码明智:

return res.status(403).send({ message: 'No token provided.' });
Run Code Online (Sandbox Code Playgroud)

return res.json({ success: false, message: 'No token provided.' });
Run Code Online (Sandbox Code Playgroud)

谢谢.

Kos*_*Kos 6

每个HTTP客户端都可以理解HTTP状态代码,无论是cURL,浏览器,Web代理还是编程语言库.

如果您只使用200 OK状态代码,那么不知道您的应用程序的客户端将无法从错误中判断成功.在代理的情况下,这甚至可能导致缓存问题.

最重要的是,正确使用代码可以使用户更容易编写客户端.例如,我可以response.raise_for_status在Python请求或$.get().then(onSuccess, onError)jQuery中使用.