Viv*_*vek 7 javascript node.js express
我正在使用 ExpressJS 构建 API 服务器。我想确保服务器始终使用 JSON 数据而不是 HTML 数据进行响应。对于我定义的所有自定义路由,我可以让服务器使用 JSON 数据进行响应。
但如果出现“找不到页面 (404)”或“内部服务器错误 (500)”等错误,服务器会以 HTML 内容进行响应。是否有任何内置配置设置允许以 JSON 格式进行这些响应?
我可以为此定义自定义错误处理程序,但我希望使用内置错误处理程序的功能,例如基于 NODE_ENV 隐藏堆栈跟踪。
根据 express 文档,您可以像这样处理每个 404 和 500 服务器错误以发送 json(或您喜欢的任何其他响应)
发送 404 作为 json 响应,
app.get('*', function(req, res){
res.status(404).json({}); // <== YOUR JSON DATA HERE
});
Run Code Online (Sandbox Code Playgroud)
对于 500 Internal server error ,
app.use(function (err, req, res, next) {
console.error(err.stack)
res.status(500).json({}) // <== YOUR JSON DATA HERE
})
Run Code Online (Sandbox Code Playgroud)
希望有帮助!
请按照这些参考资料了解更多信息
| 归档时间: |
|
| 查看次数: |
4255 次 |
| 最近记录: |