我正在设计一个带有express/node的API,我想知道是否需要显式设置请求和/或响应的标头,或者是否会自动处理?我刚刚阅读了以下有关 RESTFUL API 最佳实践的内容:
使用 HTTP 标头进行序列化格式
客户端和服务器都需要知道通信使用哪种格式。必须在 HTTP 标头中指定格式。
Content-Type 定义请求格式。 Accept 定义了可接受的响应格式列表。
https://blog.mwaysolutions.com/2014/06/05/10-best-practices-for-better-restful-api/
但是我不确定这在实践中真正意味着什么。
app.delete('/LimeLINE/api/v1/users/delete/:boolean', (req, res) => {
let inactive;
try {
inactive = req.params.boolean
} catch (e) {
log('e', 'app.delete(/LimeLINE/api/v1/users/delete/:boolean - e - 291 : ' + e)
return res.status(500).send({
message: "INTERNAL SERVER ERROR"
})
}
//res.setHeader('Content-Type', 'application/json');
user.deleteInActive(inactive, res)
})
如果您使用 Express,那么它已经为您完成了很多工作。因此,您不需要在标头中指定内容类型,因为它已经提供了方法并处理大部分标头部分 例如:res.json(); 它已经将内容类型设置为 json。
如果出现处理错误,您可以指定“status”属性并将 HttpStatus 设置为 UNAUTHORIZED 、 INTERNAL_SERVER_ERROR 、 BAD_REQUEST 等。
因此您只需要使用内置的快速功能即可为您完成所有工作。
我有一个 API 范围,我将 REST 概念与 Express 一起使用。您已经使用 Sequelize 拥有数据库的 ORM。
请点击以下链接: