我正试图通过express制作api。然而,我从服务器得到的响应是201 created
。我试图通过承诺做出的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));
}
);
});
};
我认为您的问题是在example
功能。这个承诺看起来很好,但我假设你的常量命名得很好。
constants.HTTP_OK
应该是constants.HTTP_CREATED
。在它们后面,我假设HTTP_OK
是200
,HTTP_CREATED
应该是201
。