API 设计 Node.JS

API design with Node.JS

我正在用 express/node 设计一个 API,我想知道是否需要为请求和/或响应显式设置 headers 或者是自动处理?正如我刚刚阅读的 RESTFUL API 最佳实践的以下内容:

使用 HTTP headers 作为序列化格式

客户端和服务器都需要知道使用哪种格式进行通信。必须在 HTTP-Header.

中指定格式

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,那么它已经为您做了很多工作。因此,您不需要在 header 中指定 content-type,因为它已经提供了方法并处理了大部分 header 部分 例如:res.json(); 它已经将 content-type 设置为 json。

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

所以您只需要使用内置的快速功能,它会为您完成所有工作。

我有一个 API 范围,我将 REST 概念与 express 结合使用。您已经使用 Sequelize 为数据库创建了 ORM。

关注下面的link:

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