首页 > 解决方案 > 使用 Node.JS 进行 API 设计

问题描述

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

将 HTTP 标头用于序列化格式

客户端和服务器都需要知道用于通信的格式。格式必须在 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)
})

标签: node.jsapiheaderrequestresponse

解决方案


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

在处理错误的情况下,您可以指定“状态”属性并将 HttpStatus 设置为 UNAUTHORIZED 、 INTERNAL_SERVER_ERROR 、 BAD_REQUEST 等。

所以你只需要使用内置的 express 函数来为你完成所有的工作。


推荐阅读