【问题标题】:201 status node express API always failing201 状态节点快速 API 总是失败
【发布时间】:2021-01-18 19:42:52
【问题描述】:

我正在尝试通过 express 制作一个 api。但是,我得到的服务器的响应是201 created。我试图通过 Promise 发出的 HTTP 请求将 then 进程解释为错误,并且它不断通过失败的标准。

关于如何通过下面的示例获得201 created 的任何想法。

示例:输出即使成功也会自动进入错误状态。

router.get('/example', session, function (req, res) {
    example(req.body, req.session.token).then(
        (response) => {
            res.json(response);
        },
        (err) => {
            if (err.status) {
                res.status(err.status).json({
                    status: err.status,
                    message: err.message
                });
            } else {
                res.status(constants.HTTP_INTERNAL_SERVER_ERROR).json({
                    status: constants.HTTP_INTERNAL_SERVER_ERROR,
                    message: 'Internal Server Error'
                });
            }
        }
    );
});

module.exports.example = (body, token) => {
    return new Promise((resolve, reject) => {
        const mainToken = createRawToken(token);
        request.post(
            {
                url: `${endpoint}`,
                body: JSON.stringify(body),
                headers: {
                    Authorization: mainToken,
                    "Content-Type": "application/json"
                }
            },
            (error, response, bdy) => {
                resolve(requestService.handleResponse(error, response, bdy, constants.HTTP_OK));
            }
        );
    });
};

【问题讨论】:

    标签: javascript node.js express http


    【解决方案1】:

    我认为您的问题出在example 函数中。承诺似乎很好,但我假设你很好地命名了你的常量。

    constants.HTTP_OK 应该是 constants.HTTP_CREATED。在他们后面我假设HTTP_OK200HTTP_CREATED 应该是201

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-14
      • 2020-02-06
      • 2016-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-26
      • 1970-01-01
      相关资源
      最近更新 更多