使用 Node.JS 进行 API 设计

问题描述 投票:0回答:2

我正在设计一个带有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)
})
javascript node.js http-headers httprequest response
2个回答
1
投票

如果您使用 Express,那么它已经为您完成了很多工作。因此,您不需要在标头中指定内容类型,因为它已经提供了方法并处理大部分标头部分 例如:res.json(); 它已经将内容类型设置为 json。

如果出现处理错误,您可以指定“status”属性并将 HttpStatus 设置为 UNAUTHORIZED 、 INTERNAL_SERVER_ERROR 、 BAD_REQUEST 等。

因此您只需要使用内置的快速功能即可为您完成所有工作。


0
投票

我有一个 API 范围,我将 REST 概念与 Express 一起使用。您已经使用 Sequelize 拥有数据库的 ORM。

请点击以下链接:

https://github.com/wandersonpereira/easy-api-node

© www.soinside.com 2019 - 2024. All rights reserved.